// Copyright (c) 2018-2023 Advanced Micro Devices, Inc. // // 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. #pragma once // NOLINTNEXTLINE(performance-enum-size) typedef enum { ROCPROFILER_HSA_API_ID_NONE = -1, // block: CoreApi API ROCPROFILER_HSA_API_ID_hsa_init = 0, ROCPROFILER_HSA_API_ID_hsa_shut_down, ROCPROFILER_HSA_API_ID_hsa_system_get_info, ROCPROFILER_HSA_API_ID_hsa_system_extension_supported, ROCPROFILER_HSA_API_ID_hsa_system_get_extension_table, ROCPROFILER_HSA_API_ID_hsa_iterate_agents, ROCPROFILER_HSA_API_ID_hsa_agent_get_info, ROCPROFILER_HSA_API_ID_hsa_queue_create, ROCPROFILER_HSA_API_ID_hsa_soft_queue_create, ROCPROFILER_HSA_API_ID_hsa_queue_destroy, ROCPROFILER_HSA_API_ID_hsa_queue_inactivate, ROCPROFILER_HSA_API_ID_hsa_queue_load_read_index_scacquire, ROCPROFILER_HSA_API_ID_hsa_queue_load_read_index_relaxed, ROCPROFILER_HSA_API_ID_hsa_queue_load_write_index_scacquire, ROCPROFILER_HSA_API_ID_hsa_queue_load_write_index_relaxed, ROCPROFILER_HSA_API_ID_hsa_queue_store_write_index_relaxed, ROCPROFILER_HSA_API_ID_hsa_queue_store_write_index_screlease, ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_scacquire, ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_relaxed, ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_screlease, ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_scacq_screl, ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_scacquire, ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_relaxed, ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_screlease, ROCPROFILER_HSA_API_ID_hsa_queue_store_read_index_relaxed, ROCPROFILER_HSA_API_ID_hsa_queue_store_read_index_screlease, ROCPROFILER_HSA_API_ID_hsa_agent_iterate_regions, ROCPROFILER_HSA_API_ID_hsa_region_get_info, ROCPROFILER_HSA_API_ID_hsa_agent_get_exception_policies, ROCPROFILER_HSA_API_ID_hsa_agent_extension_supported, ROCPROFILER_HSA_API_ID_hsa_memory_register, ROCPROFILER_HSA_API_ID_hsa_memory_deregister, ROCPROFILER_HSA_API_ID_hsa_memory_allocate, ROCPROFILER_HSA_API_ID_hsa_memory_free, ROCPROFILER_HSA_API_ID_hsa_memory_copy, ROCPROFILER_HSA_API_ID_hsa_memory_assign_agent, ROCPROFILER_HSA_API_ID_hsa_signal_create, ROCPROFILER_HSA_API_ID_hsa_signal_destroy, ROCPROFILER_HSA_API_ID_hsa_signal_load_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_load_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_store_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_store_screlease, ROCPROFILER_HSA_API_ID_hsa_signal_wait_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_wait_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_and_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_and_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_and_screlease, ROCPROFILER_HSA_API_ID_hsa_signal_and_scacq_screl, ROCPROFILER_HSA_API_ID_hsa_signal_or_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_or_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_or_screlease, ROCPROFILER_HSA_API_ID_hsa_signal_or_scacq_screl, ROCPROFILER_HSA_API_ID_hsa_signal_xor_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_xor_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_xor_screlease, ROCPROFILER_HSA_API_ID_hsa_signal_xor_scacq_screl, ROCPROFILER_HSA_API_ID_hsa_signal_exchange_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_exchange_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_exchange_screlease, ROCPROFILER_HSA_API_ID_hsa_signal_exchange_scacq_screl, ROCPROFILER_HSA_API_ID_hsa_signal_add_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_add_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_add_screlease, ROCPROFILER_HSA_API_ID_hsa_signal_add_scacq_screl, ROCPROFILER_HSA_API_ID_hsa_signal_subtract_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_subtract_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_subtract_screlease, ROCPROFILER_HSA_API_ID_hsa_signal_subtract_scacq_screl, ROCPROFILER_HSA_API_ID_hsa_signal_cas_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_cas_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_cas_screlease, ROCPROFILER_HSA_API_ID_hsa_signal_cas_scacq_screl, ROCPROFILER_HSA_API_ID_hsa_isa_from_name, ROCPROFILER_HSA_API_ID_hsa_isa_get_info, ROCPROFILER_HSA_API_ID_hsa_isa_compatible, ROCPROFILER_HSA_API_ID_hsa_code_object_serialize, ROCPROFILER_HSA_API_ID_hsa_code_object_deserialize, ROCPROFILER_HSA_API_ID_hsa_code_object_destroy, ROCPROFILER_HSA_API_ID_hsa_code_object_get_info, ROCPROFILER_HSA_API_ID_hsa_code_object_get_symbol, ROCPROFILER_HSA_API_ID_hsa_code_symbol_get_info, ROCPROFILER_HSA_API_ID_hsa_code_object_iterate_symbols, ROCPROFILER_HSA_API_ID_hsa_executable_create, ROCPROFILER_HSA_API_ID_hsa_executable_destroy, ROCPROFILER_HSA_API_ID_hsa_executable_load_code_object, ROCPROFILER_HSA_API_ID_hsa_executable_freeze, ROCPROFILER_HSA_API_ID_hsa_executable_get_info, ROCPROFILER_HSA_API_ID_hsa_executable_global_variable_define, ROCPROFILER_HSA_API_ID_hsa_executable_agent_global_variable_define, ROCPROFILER_HSA_API_ID_hsa_executable_readonly_variable_define, ROCPROFILER_HSA_API_ID_hsa_executable_validate, ROCPROFILER_HSA_API_ID_hsa_executable_get_symbol, ROCPROFILER_HSA_API_ID_hsa_executable_symbol_get_info, ROCPROFILER_HSA_API_ID_hsa_executable_iterate_symbols, ROCPROFILER_HSA_API_ID_hsa_status_string, ROCPROFILER_HSA_API_ID_hsa_extension_get_name, ROCPROFILER_HSA_API_ID_hsa_system_major_extension_supported, ROCPROFILER_HSA_API_ID_hsa_system_get_major_extension_table, ROCPROFILER_HSA_API_ID_hsa_agent_major_extension_supported, ROCPROFILER_HSA_API_ID_hsa_cache_get_info, ROCPROFILER_HSA_API_ID_hsa_agent_iterate_caches, ROCPROFILER_HSA_API_ID_hsa_signal_silent_store_relaxed, ROCPROFILER_HSA_API_ID_hsa_signal_silent_store_screlease, ROCPROFILER_HSA_API_ID_hsa_signal_group_create, ROCPROFILER_HSA_API_ID_hsa_signal_group_destroy, ROCPROFILER_HSA_API_ID_hsa_signal_group_wait_any_scacquire, ROCPROFILER_HSA_API_ID_hsa_signal_group_wait_any_relaxed, ROCPROFILER_HSA_API_ID_hsa_agent_iterate_isas, ROCPROFILER_HSA_API_ID_hsa_isa_get_info_alt, ROCPROFILER_HSA_API_ID_hsa_isa_get_exception_policies, ROCPROFILER_HSA_API_ID_hsa_isa_get_round_method, ROCPROFILER_HSA_API_ID_hsa_wavefront_get_info, ROCPROFILER_HSA_API_ID_hsa_isa_iterate_wavefronts, ROCPROFILER_HSA_API_ID_hsa_code_object_get_symbol_from_name, ROCPROFILER_HSA_API_ID_hsa_code_object_reader_create_from_file, ROCPROFILER_HSA_API_ID_hsa_code_object_reader_create_from_memory, ROCPROFILER_HSA_API_ID_hsa_code_object_reader_destroy, ROCPROFILER_HSA_API_ID_hsa_executable_create_alt, ROCPROFILER_HSA_API_ID_hsa_executable_load_program_code_object, ROCPROFILER_HSA_API_ID_hsa_executable_load_agent_code_object, ROCPROFILER_HSA_API_ID_hsa_executable_validate_alt, ROCPROFILER_HSA_API_ID_hsa_executable_get_symbol_by_name, ROCPROFILER_HSA_API_ID_hsa_executable_iterate_agent_symbols, ROCPROFILER_HSA_API_ID_hsa_executable_iterate_program_symbols, // block: AmdExt API ROCPROFILER_HSA_API_ID_hsa_amd_coherency_get_type, ROCPROFILER_HSA_API_ID_hsa_amd_coherency_set_type, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_async_copy_enable, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_get_dispatch_time, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_get_async_copy_time, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, ROCPROFILER_HSA_API_ID_hsa_amd_signal_async_handler, ROCPROFILER_HSA_API_ID_hsa_amd_async_function, ROCPROFILER_HSA_API_ID_hsa_amd_signal_wait_any, ROCPROFILER_HSA_API_ID_hsa_amd_queue_cu_set_mask, ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_get_info, ROCPROFILER_HSA_API_ID_hsa_amd_agent_iterate_memory_pools, ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_allocate, ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_free, ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy, ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_on_engine, ROCPROFILER_HSA_API_ID_hsa_amd_memory_copy_engine_status, ROCPROFILER_HSA_API_ID_hsa_amd_agent_memory_pool_get_info, ROCPROFILER_HSA_API_ID_hsa_amd_agents_allow_access, ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_can_migrate, ROCPROFILER_HSA_API_ID_hsa_amd_memory_migrate, ROCPROFILER_HSA_API_ID_hsa_amd_memory_lock, ROCPROFILER_HSA_API_ID_hsa_amd_memory_unlock, ROCPROFILER_HSA_API_ID_hsa_amd_memory_fill, ROCPROFILER_HSA_API_ID_hsa_amd_interop_map_buffer, ROCPROFILER_HSA_API_ID_hsa_amd_interop_unmap_buffer, ROCPROFILER_HSA_API_ID_hsa_amd_image_create, ROCPROFILER_HSA_API_ID_hsa_amd_pointer_info, ROCPROFILER_HSA_API_ID_hsa_amd_pointer_info_set_userdata, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_memory_create, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_memory_attach, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_memory_detach, ROCPROFILER_HSA_API_ID_hsa_amd_signal_create, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_signal_create, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_signal_attach, ROCPROFILER_HSA_API_ID_hsa_amd_register_system_event_handler, ROCPROFILER_HSA_API_ID_hsa_amd_queue_intercept_create, ROCPROFILER_HSA_API_ID_hsa_amd_queue_intercept_register, ROCPROFILER_HSA_API_ID_hsa_amd_queue_set_priority, ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_rect, ROCPROFILER_HSA_API_ID_hsa_amd_runtime_queue_create_register, ROCPROFILER_HSA_API_ID_hsa_amd_memory_lock_to_pool, ROCPROFILER_HSA_API_ID_hsa_amd_register_deallocation_callback, ROCPROFILER_HSA_API_ID_hsa_amd_deregister_deallocation_callback, ROCPROFILER_HSA_API_ID_hsa_amd_signal_value_pointer, ROCPROFILER_HSA_API_ID_hsa_amd_svm_attributes_set, ROCPROFILER_HSA_API_ID_hsa_amd_svm_attributes_get, ROCPROFILER_HSA_API_ID_hsa_amd_svm_prefetch_async, ROCPROFILER_HSA_API_ID_hsa_amd_spm_acquire, ROCPROFILER_HSA_API_ID_hsa_amd_spm_release, ROCPROFILER_HSA_API_ID_hsa_amd_spm_set_dest_buffer, ROCPROFILER_HSA_API_ID_hsa_amd_queue_cu_get_mask, ROCPROFILER_HSA_API_ID_hsa_amd_portable_export_dmabuf, ROCPROFILER_HSA_API_ID_hsa_amd_portable_close_dmabuf, // block: ImageExt API ROCPROFILER_HSA_API_ID_hsa_ext_image_get_capability, ROCPROFILER_HSA_API_ID_hsa_ext_image_data_get_info, ROCPROFILER_HSA_API_ID_hsa_ext_image_create, ROCPROFILER_HSA_API_ID_hsa_ext_image_import, ROCPROFILER_HSA_API_ID_hsa_ext_image_export, ROCPROFILER_HSA_API_ID_hsa_ext_image_copy, ROCPROFILER_HSA_API_ID_hsa_ext_image_clear, ROCPROFILER_HSA_API_ID_hsa_ext_image_destroy, ROCPROFILER_HSA_API_ID_hsa_ext_sampler_create, ROCPROFILER_HSA_API_ID_hsa_ext_sampler_destroy, ROCPROFILER_HSA_API_ID_hsa_ext_image_get_capability_with_layout, ROCPROFILER_HSA_API_ID_hsa_ext_image_data_get_info_with_layout, ROCPROFILER_HSA_API_ID_hsa_ext_image_create_with_layout, ROCPROFILER_HSA_API_ID_LAST, } rocprofiler_hsa_api_id_t;