diff --git a/projects/roctracer/inc/hsa_prof_str.h b/projects/roctracer/inc/hsa_prof_str.h index 2565008aea..79ddb5ff76 100644 --- a/projects/roctracer/inc/hsa_prof_str.h +++ b/projects/roctracer/inc/hsa_prof_str.h @@ -232,6 +232,12 @@ enum hsa_api_id_t { struct hsa_api_data_t { uint64_t correlation_id; uint32_t phase; + union { + hsa_status_t hsa_status_t_retval; + uint64_t uint64_t_retval; + hsa_signal_value_t hsa_signal_value_t_retval; + uint32_t uint32_t_retval; + }; union { // block: CoreApiTable API struct { @@ -1162,6 +1168,7 @@ static hsa_status_t hsa_init_callback() { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_init, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_init_fn(); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_init, &api_data, api_callback_arg); return ret; @@ -1174,6 +1181,7 @@ static hsa_status_t hsa_shut_down_callback() { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_shut_down, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_shut_down_fn(); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_shut_down, &api_data, api_callback_arg); return ret; @@ -1188,38 +1196,41 @@ static hsa_status_t hsa_system_get_info_callback(hsa_system_info_t attribute, vo api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_get_info_fn(attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_system_extension_supported_callback(uint16_t extension, uint16_t version_major, uint16_t version_minor, bool* result) { hsa_api_data_t api_data{}; - api_data.args.hsa_system_extension_supported.version_minor = version_minor; - api_data.args.hsa_system_extension_supported.result = result; api_data.args.hsa_system_extension_supported.extension = extension; api_data.args.hsa_system_extension_supported.version_major = version_major; + api_data.args.hsa_system_extension_supported.version_minor = version_minor; + api_data.args.hsa_system_extension_supported.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_system_extension_supported, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_extension_supported, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_extension_supported_fn(extension, version_major, version_minor, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_extension_supported, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_system_get_extension_table_callback(uint16_t extension, uint16_t version_major, uint16_t version_minor, void* table) { hsa_api_data_t api_data{}; - api_data.args.hsa_system_get_extension_table.table = table; - api_data.args.hsa_system_get_extension_table.version_minor = version_minor; api_data.args.hsa_system_get_extension_table.extension = extension; api_data.args.hsa_system_get_extension_table.version_major = version_major; + api_data.args.hsa_system_get_extension_table.version_minor = version_minor; + api_data.args.hsa_system_get_extension_table.table = table; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_system_get_extension_table, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_extension_table, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_get_extension_table_fn(extension, version_major, version_minor, table); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_extension_table, &api_data, api_callback_arg); return ret; @@ -1234,59 +1245,63 @@ static hsa_status_t hsa_iterate_agents_callback(hsa_status_t (* callback)(hsa_ag api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_iterate_agents, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_iterate_agents_fn(callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_iterate_agents, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_get_info_callback(hsa_agent_t agent, hsa_agent_info_t attribute, void* value) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_get_info.agent = agent; api_data.args.hsa_agent_get_info.attribute = attribute; api_data.args.hsa_agent_get_info.value = value; - api_data.args.hsa_agent_get_info.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_get_info_fn(agent, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_queue_create_callback(hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, void (* callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) { hsa_api_data_t api_data{}; - api_data.args.hsa_queue_create.private_segment_size = private_segment_size; - api_data.args.hsa_queue_create.data = data; api_data.args.hsa_queue_create.agent = agent; - api_data.args.hsa_queue_create.queue = queue; - api_data.args.hsa_queue_create.callback = callback; - api_data.args.hsa_queue_create.group_segment_size = group_segment_size; - api_data.args.hsa_queue_create.type = type; api_data.args.hsa_queue_create.size = size; + api_data.args.hsa_queue_create.type = type; + api_data.args.hsa_queue_create.callback = callback; + api_data.args.hsa_queue_create.data = data; + api_data.args.hsa_queue_create.private_segment_size = private_segment_size; + api_data.args.hsa_queue_create.group_segment_size = group_segment_size; + api_data.args.hsa_queue_create.queue = queue; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_queue_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_queue_create_fn(agent, size, type, callback, data, private_segment_size, group_segment_size, queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_soft_queue_create_callback(hsa_region_t region, uint32_t size, hsa_queue_type32_t type, uint32_t features, hsa_signal_t doorbell_signal, hsa_queue_t** queue) { hsa_api_data_t api_data{}; - api_data.args.hsa_soft_queue_create.features = features; api_data.args.hsa_soft_queue_create.region = region; - api_data.args.hsa_soft_queue_create.queue = queue; - api_data.args.hsa_soft_queue_create.doorbell_signal = doorbell_signal; - api_data.args.hsa_soft_queue_create.type = type; api_data.args.hsa_soft_queue_create.size = size; + api_data.args.hsa_soft_queue_create.type = type; + api_data.args.hsa_soft_queue_create.features = features; + api_data.args.hsa_soft_queue_create.doorbell_signal = doorbell_signal; + api_data.args.hsa_soft_queue_create.queue = queue; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_soft_queue_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_soft_queue_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_soft_queue_create_fn(region, size, type, features, doorbell_signal, queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_soft_queue_create, &api_data, api_callback_arg); return ret; @@ -1300,6 +1315,7 @@ static hsa_status_t hsa_queue_destroy_callback(hsa_queue_t* queue) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_queue_destroy_fn(queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_destroy, &api_data, api_callback_arg); return ret; @@ -1313,6 +1329,7 @@ static hsa_status_t hsa_queue_inactivate_callback(hsa_queue_t* queue) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_inactivate, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_queue_inactivate_fn(queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_inactivate, &api_data, api_callback_arg); return ret; @@ -1326,6 +1343,7 @@ static uint64_t hsa_queue_load_read_index_scacquire_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_load_read_index_scacquire_fn(queue); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_scacquire, &api_data, api_callback_arg); return ret; @@ -1339,6 +1357,7 @@ static uint64_t hsa_queue_load_read_index_relaxed_callback(const hsa_queue_t* qu api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_load_read_index_relaxed_fn(queue); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_read_index_relaxed, &api_data, api_callback_arg); return ret; @@ -1352,6 +1371,7 @@ static uint64_t hsa_queue_load_write_index_scacquire_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_load_write_index_scacquire_fn(queue); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_scacquire, &api_data, api_callback_arg); return ret; @@ -1365,6 +1385,7 @@ static uint64_t hsa_queue_load_write_index_relaxed_callback(const hsa_queue_t* q api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_load_write_index_relaxed_fn(queue); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_load_write_index_relaxed, &api_data, api_callback_arg); return ret; @@ -1406,6 +1427,7 @@ static uint64_t hsa_queue_cas_write_index_scacq_screl_callback(const hsa_queue_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_scacq_screl_fn(queue, expected, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, &api_data, api_callback_arg); return ret; @@ -1421,6 +1443,7 @@ static uint64_t hsa_queue_cas_write_index_scacquire_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_scacquire_fn(queue, expected, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_scacquire, &api_data, api_callback_arg); return ret; @@ -1436,6 +1459,7 @@ static uint64_t hsa_queue_cas_write_index_relaxed_callback(const hsa_queue_t* qu api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_relaxed_fn(queue, expected, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_relaxed, &api_data, api_callback_arg); return ret; @@ -1451,6 +1475,7 @@ static uint64_t hsa_queue_cas_write_index_screlease_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_cas_write_index_screlease_fn(queue, expected, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_cas_write_index_screlease, &api_data, api_callback_arg); return ret; @@ -1465,6 +1490,7 @@ static uint64_t hsa_queue_add_write_index_scacq_screl_callback(const hsa_queue_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_scacq_screl_fn(queue, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacq_screl, &api_data, api_callback_arg); return ret; @@ -1479,6 +1505,7 @@ static uint64_t hsa_queue_add_write_index_scacquire_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_scacquire_fn(queue, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_scacquire, &api_data, api_callback_arg); return ret; @@ -1493,6 +1520,7 @@ static uint64_t hsa_queue_add_write_index_relaxed_callback(const hsa_queue_t* qu api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_relaxed_fn(queue, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_relaxed, &api_data, api_callback_arg); return ret; @@ -1507,6 +1535,7 @@ static uint64_t hsa_queue_add_write_index_screlease_callback(const hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_screlease, &api_data, api_callback_arg); uint64_t ret = CoreApiTable_saved.hsa_queue_add_write_index_screlease_fn(queue, value); + api_data.uint64_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_queue_add_write_index_screlease, &api_data, api_callback_arg); return ret; @@ -1539,23 +1568,24 @@ static void hsa_queue_store_read_index_screlease_callback(const hsa_queue_t* que } static hsa_status_t hsa_agent_iterate_regions_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_region_t region, void* data), void* data) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_iterate_regions.agent = agent; api_data.args.hsa_agent_iterate_regions.callback = callback; api_data.args.hsa_agent_iterate_regions.data = data; - api_data.args.hsa_agent_iterate_regions.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_iterate_regions, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_regions, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_regions_fn(agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_regions, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_region_get_info_callback(hsa_region_t region, hsa_region_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_region_get_info.attribute = attribute; api_data.args.hsa_region_get_info.region = region; + api_data.args.hsa_region_get_info.attribute = attribute; api_data.args.hsa_region_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -1563,38 +1593,41 @@ static hsa_status_t hsa_region_get_info_callback(hsa_region_t region, hsa_region api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_region_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_region_get_info_fn(region, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_region_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_get_exception_policies_callback(hsa_agent_t agent, hsa_profile_t profile, uint16_t* mask) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_get_exception_policies.agent = agent; api_data.args.hsa_agent_get_exception_policies.profile = profile; api_data.args.hsa_agent_get_exception_policies.mask = mask; - api_data.args.hsa_agent_get_exception_policies.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_get_exception_policies, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_exception_policies, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_get_exception_policies_fn(agent, profile, mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_get_exception_policies, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_extension_supported_callback(uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t version_minor, bool* result) { hsa_api_data_t api_data{}; - api_data.args.hsa_agent_extension_supported.result = result; - api_data.args.hsa_agent_extension_supported.version_minor = version_minor; - api_data.args.hsa_agent_extension_supported.agent = agent; api_data.args.hsa_agent_extension_supported.extension = extension; + api_data.args.hsa_agent_extension_supported.agent = agent; api_data.args.hsa_agent_extension_supported.version_major = version_major; + api_data.args.hsa_agent_extension_supported.version_minor = version_minor; + api_data.args.hsa_agent_extension_supported.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_extension_supported, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_extension_supported, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_extension_supported_fn(extension, agent, version_major, version_minor, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_extension_supported, &api_data, api_callback_arg); return ret; @@ -1609,6 +1642,7 @@ static hsa_status_t hsa_memory_register_callback(void* ptr, size_t size) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_register, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_register_fn(ptr, size); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_register, &api_data, api_callback_arg); return ret; @@ -1623,6 +1657,7 @@ static hsa_status_t hsa_memory_deregister_callback(void* ptr, size_t size) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_deregister, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_deregister_fn(ptr, size); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_deregister, &api_data, api_callback_arg); return ret; @@ -1630,14 +1665,15 @@ static hsa_status_t hsa_memory_deregister_callback(void* ptr, size_t size) { static hsa_status_t hsa_memory_allocate_callback(hsa_region_t region, size_t size, void** ptr) { hsa_api_data_t api_data{}; api_data.args.hsa_memory_allocate.region = region; - api_data.args.hsa_memory_allocate.ptr = ptr; api_data.args.hsa_memory_allocate.size = size; + api_data.args.hsa_memory_allocate.ptr = ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_memory_allocate, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_allocate, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_allocate_fn(region, size, ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_allocate, &api_data, api_callback_arg); return ret; @@ -1651,14 +1687,15 @@ static hsa_status_t hsa_memory_free_callback(void* ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_free, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_free_fn(ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_free, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_memory_copy_callback(void* dst, const void* src, size_t size) { hsa_api_data_t api_data{}; - api_data.args.hsa_memory_copy.src = src; api_data.args.hsa_memory_copy.dst = dst; + api_data.args.hsa_memory_copy.src = src; api_data.args.hsa_memory_copy.size = size; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -1666,37 +1703,40 @@ static hsa_status_t hsa_memory_copy_callback(void* dst, const void* src, size_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_copy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_copy_fn(dst, src, size); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_copy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_memory_assign_agent_callback(void* ptr, hsa_agent_t agent, hsa_access_permission_t access) { hsa_api_data_t api_data{}; - api_data.args.hsa_memory_assign_agent.access = access; api_data.args.hsa_memory_assign_agent.ptr = ptr; api_data.args.hsa_memory_assign_agent.agent = agent; + api_data.args.hsa_memory_assign_agent.access = access; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_memory_assign_agent, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_assign_agent, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_memory_assign_agent_fn(ptr, agent, access); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_memory_assign_agent, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_signal_create_callback(hsa_signal_value_t initial_value, uint32_t num_consumers, const hsa_agent_t* consumers, hsa_signal_t* signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_create.signal = signal; + api_data.args.hsa_signal_create.initial_value = initial_value; api_data.args.hsa_signal_create.num_consumers = num_consumers; api_data.args.hsa_signal_create.consumers = consumers; - api_data.args.hsa_signal_create.initial_value = initial_value; + api_data.args.hsa_signal_create.signal = signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_create_fn(initial_value, num_consumers, consumers, signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_create, &api_data, api_callback_arg); return ret; @@ -1710,6 +1750,7 @@ static hsa_status_t hsa_signal_destroy_callback(hsa_signal_t signal) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_destroy_fn(signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_destroy, &api_data, api_callback_arg); return ret; @@ -1723,6 +1764,7 @@ static hsa_signal_value_t hsa_signal_load_relaxed_callback(hsa_signal_t signal) api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_relaxed, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_load_relaxed_fn(signal); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_relaxed, &api_data, api_callback_arg); return ret; @@ -1736,6 +1778,7 @@ static hsa_signal_value_t hsa_signal_load_scacquire_callback(hsa_signal_t signal api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_scacquire, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_load_scacquire_fn(signal); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_load_scacquire, &api_data, api_callback_arg); return ret; @@ -1769,16 +1812,17 @@ static void hsa_signal_store_screlease_callback(hsa_signal_t signal, hsa_signal_ static hsa_signal_value_t hsa_signal_wait_relaxed_callback(hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint) { hsa_api_data_t api_data{}; api_data.args.hsa_signal_wait_relaxed.signal = signal; + api_data.args.hsa_signal_wait_relaxed.condition = condition; + api_data.args.hsa_signal_wait_relaxed.compare_value = compare_value; api_data.args.hsa_signal_wait_relaxed.timeout_hint = timeout_hint; api_data.args.hsa_signal_wait_relaxed.wait_state_hint = wait_state_hint; - api_data.args.hsa_signal_wait_relaxed.compare_value = compare_value; - api_data.args.hsa_signal_wait_relaxed.condition = condition; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_wait_relaxed, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_relaxed, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_wait_relaxed_fn(signal, condition, compare_value, timeout_hint, wait_state_hint); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_relaxed, &api_data, api_callback_arg); return ret; @@ -1786,16 +1830,17 @@ static hsa_signal_value_t hsa_signal_wait_relaxed_callback(hsa_signal_t signal, static hsa_signal_value_t hsa_signal_wait_scacquire_callback(hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint) { hsa_api_data_t api_data{}; api_data.args.hsa_signal_wait_scacquire.signal = signal; + api_data.args.hsa_signal_wait_scacquire.condition = condition; + api_data.args.hsa_signal_wait_scacquire.compare_value = compare_value; api_data.args.hsa_signal_wait_scacquire.timeout_hint = timeout_hint; api_data.args.hsa_signal_wait_scacquire.wait_state_hint = wait_state_hint; - api_data.args.hsa_signal_wait_scacquire.compare_value = compare_value; - api_data.args.hsa_signal_wait_scacquire.condition = condition; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_wait_scacquire, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_scacquire, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_wait_scacquire_fn(signal, condition, compare_value, timeout_hint, wait_state_hint); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_wait_scacquire, &api_data, api_callback_arg); return ret; @@ -1966,6 +2011,7 @@ static hsa_signal_value_t hsa_signal_exchange_relaxed_callback(hsa_signal_t sign api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_relaxed, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_relaxed_fn(signal, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_relaxed, &api_data, api_callback_arg); return ret; @@ -1980,6 +2026,7 @@ static hsa_signal_value_t hsa_signal_exchange_scacquire_callback(hsa_signal_t si api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacquire, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_scacquire_fn(signal, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacquire, &api_data, api_callback_arg); return ret; @@ -1994,6 +2041,7 @@ static hsa_signal_value_t hsa_signal_exchange_screlease_callback(hsa_signal_t si api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_screlease, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_screlease_fn(signal, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_screlease, &api_data, api_callback_arg); return ret; @@ -2008,6 +2056,7 @@ static hsa_signal_value_t hsa_signal_exchange_scacq_screl_callback(hsa_signal_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_exchange_scacq_screl_fn(signal, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_exchange_scacq_screl, &api_data, api_callback_arg); return ret; @@ -2118,8 +2167,8 @@ static void hsa_signal_subtract_scacq_screl_callback(hsa_signal_t signal, hsa_si } static hsa_signal_value_t hsa_signal_cas_relaxed_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_relaxed.expected = expected; api_data.args.hsa_signal_cas_relaxed.signal = signal; + api_data.args.hsa_signal_cas_relaxed.expected = expected; api_data.args.hsa_signal_cas_relaxed.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2127,14 +2176,15 @@ static hsa_signal_value_t hsa_signal_cas_relaxed_callback(hsa_signal_t signal, h api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_relaxed, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_relaxed_fn(signal, expected, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_relaxed, &api_data, api_callback_arg); return ret; } static hsa_signal_value_t hsa_signal_cas_scacquire_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_scacquire.expected = expected; api_data.args.hsa_signal_cas_scacquire.signal = signal; + api_data.args.hsa_signal_cas_scacquire.expected = expected; api_data.args.hsa_signal_cas_scacquire.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2142,14 +2192,15 @@ static hsa_signal_value_t hsa_signal_cas_scacquire_callback(hsa_signal_t signal, api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacquire, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_scacquire_fn(signal, expected, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacquire, &api_data, api_callback_arg); return ret; } static hsa_signal_value_t hsa_signal_cas_screlease_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_screlease.expected = expected; api_data.args.hsa_signal_cas_screlease.signal = signal; + api_data.args.hsa_signal_cas_screlease.expected = expected; api_data.args.hsa_signal_cas_screlease.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2157,14 +2208,15 @@ static hsa_signal_value_t hsa_signal_cas_screlease_callback(hsa_signal_t signal, api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_screlease, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_screlease_fn(signal, expected, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_screlease, &api_data, api_callback_arg); return ret; } static hsa_signal_value_t hsa_signal_cas_scacq_screl_callback(hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_cas_scacq_screl.expected = expected; api_data.args.hsa_signal_cas_scacq_screl.signal = signal; + api_data.args.hsa_signal_cas_scacq_screl.expected = expected; api_data.args.hsa_signal_cas_scacq_screl.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2172,36 +2224,39 @@ static hsa_signal_value_t hsa_signal_cas_scacq_screl_callback(hsa_signal_t signa api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacq_screl, &api_data, api_callback_arg); hsa_signal_value_t ret = CoreApiTable_saved.hsa_signal_cas_scacq_screl_fn(signal, expected, value); + api_data.hsa_signal_value_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_cas_scacq_screl, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_from_name_callback(const char* name, hsa_isa_t* isa) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_from_name.isa = isa; api_data.args.hsa_isa_from_name.name = name; + api_data.args.hsa_isa_from_name.isa = isa; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_isa_from_name, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_from_name, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_from_name_fn(name, isa); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_from_name, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_get_info_callback(hsa_isa_t isa, hsa_isa_info_t attribute, uint32_t index, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_info.attribute = attribute; api_data.args.hsa_isa_get_info.isa = isa; - api_data.args.hsa_isa_get_info.value = value; + api_data.args.hsa_isa_get_info.attribute = attribute; api_data.args.hsa_isa_get_info.index = index; + api_data.args.hsa_isa_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_isa_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_info_fn(isa, attribute, index, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info, &api_data, api_callback_arg); return ret; @@ -2209,32 +2264,34 @@ static hsa_status_t hsa_isa_get_info_callback(hsa_isa_t isa, hsa_isa_info_t attr static hsa_status_t hsa_isa_compatible_callback(hsa_isa_t code_object_isa, hsa_isa_t agent_isa, bool* result) { hsa_api_data_t api_data{}; api_data.args.hsa_isa_compatible.code_object_isa = code_object_isa; - api_data.args.hsa_isa_compatible.result = result; api_data.args.hsa_isa_compatible.agent_isa = agent_isa; + api_data.args.hsa_isa_compatible.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_isa_compatible, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_compatible, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_compatible_fn(code_object_isa, agent_isa, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_compatible, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_serialize_callback(hsa_code_object_t code_object, hsa_status_t (* alloc_callback)(size_t size, hsa_callback_data_t data, void** address), hsa_callback_data_t callback_data, const char* options, void** serialized_code_object, size_t* serialized_code_object_size) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_serialize.callback_data = callback_data; api_data.args.hsa_code_object_serialize.code_object = code_object; + api_data.args.hsa_code_object_serialize.alloc_callback = alloc_callback; + api_data.args.hsa_code_object_serialize.callback_data = callback_data; + api_data.args.hsa_code_object_serialize.options = options; api_data.args.hsa_code_object_serialize.serialized_code_object = serialized_code_object; api_data.args.hsa_code_object_serialize.serialized_code_object_size = serialized_code_object_size; - api_data.args.hsa_code_object_serialize.alloc_callback = alloc_callback; - api_data.args.hsa_code_object_serialize.options = options; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_serialize, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_serialize, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_serialize_fn(code_object, alloc_callback, callback_data, options, serialized_code_object, serialized_code_object_size); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_serialize, &api_data, api_callback_arg); return ret; @@ -2243,14 +2300,15 @@ static hsa_status_t hsa_code_object_deserialize_callback(void* serialized_code_o hsa_api_data_t api_data{}; api_data.args.hsa_code_object_deserialize.serialized_code_object = serialized_code_object; api_data.args.hsa_code_object_deserialize.serialized_code_object_size = serialized_code_object_size; - api_data.args.hsa_code_object_deserialize.code_object = code_object; api_data.args.hsa_code_object_deserialize.options = options; + api_data.args.hsa_code_object_deserialize.code_object = code_object; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_deserialize, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_deserialize, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_deserialize_fn(serialized_code_object, serialized_code_object_size, options, code_object); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_deserialize, &api_data, api_callback_arg); return ret; @@ -2264,14 +2322,15 @@ static hsa_status_t hsa_code_object_destroy_callback(hsa_code_object_t code_obje api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_destroy_fn(code_object); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_destroy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_get_info_callback(hsa_code_object_t code_object, hsa_code_object_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_get_info.attribute = attribute; api_data.args.hsa_code_object_get_info.code_object = code_object; + api_data.args.hsa_code_object_get_info.attribute = attribute; api_data.args.hsa_code_object_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2279,21 +2338,23 @@ static hsa_status_t hsa_code_object_get_info_callback(hsa_code_object_t code_obj api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_info_fn(code_object, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_get_symbol_callback(hsa_code_object_t code_object, const char* symbol_name, hsa_code_symbol_t* symbol) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_get_symbol.symbol = symbol; api_data.args.hsa_code_object_get_symbol.code_object = code_object; api_data.args.hsa_code_object_get_symbol.symbol_name = symbol_name; + api_data.args.hsa_code_object_get_symbol.symbol = symbol; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_get_symbol, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_symbol_fn(code_object, symbol_name, symbol); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol, &api_data, api_callback_arg); return ret; @@ -2301,22 +2362,23 @@ static hsa_status_t hsa_code_object_get_symbol_callback(hsa_code_object_t code_o static hsa_status_t hsa_code_symbol_get_info_callback(hsa_code_symbol_t code_symbol, hsa_code_symbol_info_t attribute, void* value) { hsa_api_data_t api_data{}; api_data.args.hsa_code_symbol_get_info.code_symbol = code_symbol; - api_data.args.hsa_code_symbol_get_info.value = value; api_data.args.hsa_code_symbol_get_info.attribute = attribute; + api_data.args.hsa_code_symbol_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_symbol_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_symbol_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_symbol_get_info_fn(code_symbol, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_symbol_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_iterate_symbols_callback(hsa_code_object_t code_object, hsa_status_t (* callback)(hsa_code_object_t code_object, hsa_code_symbol_t symbol, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_iterate_symbols.callback = callback; api_data.args.hsa_code_object_iterate_symbols.code_object = code_object; + api_data.args.hsa_code_object_iterate_symbols.callback = callback; api_data.args.hsa_code_object_iterate_symbols.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2324,6 +2386,7 @@ static hsa_status_t hsa_code_object_iterate_symbols_callback(hsa_code_object_t c api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_iterate_symbols, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_iterate_symbols_fn(code_object, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_iterate_symbols, &api_data, api_callback_arg); return ret; @@ -2332,14 +2395,15 @@ static hsa_status_t hsa_executable_create_callback(hsa_profile_t profile, hsa_ex hsa_api_data_t api_data{}; api_data.args.hsa_executable_create.profile = profile; api_data.args.hsa_executable_create.executable_state = executable_state; - api_data.args.hsa_executable_create.executable = executable; api_data.args.hsa_executable_create.options = options; + api_data.args.hsa_executable_create.executable = executable; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_create_fn(profile, executable_state, options, executable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create, &api_data, api_callback_arg); return ret; @@ -2353,6 +2417,7 @@ static hsa_status_t hsa_executable_destroy_callback(hsa_executable_t executable) api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_destroy_fn(executable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_destroy, &api_data, api_callback_arg); return ret; @@ -2360,15 +2425,16 @@ static hsa_status_t hsa_executable_destroy_callback(hsa_executable_t executable) static hsa_status_t hsa_executable_load_code_object_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_t code_object, const char* options) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_load_code_object.executable = executable; + api_data.args.hsa_executable_load_code_object.agent = agent; api_data.args.hsa_executable_load_code_object.code_object = code_object; api_data.args.hsa_executable_load_code_object.options = options; - api_data.args.hsa_executable_load_code_object.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_load_code_object, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_code_object, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_code_object_fn(executable, agent, code_object, options); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_code_object, &api_data, api_callback_arg); return ret; @@ -2383,14 +2449,15 @@ static hsa_status_t hsa_executable_freeze_callback(hsa_executable_t executable, api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_freeze, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_freeze_fn(executable, options); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_freeze, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_get_info_callback(hsa_executable_t executable, hsa_executable_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_get_info.attribute = attribute; api_data.args.hsa_executable_get_info.executable = executable; + api_data.args.hsa_executable_get_info.attribute = attribute; api_data.args.hsa_executable_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2398,6 +2465,7 @@ static hsa_status_t hsa_executable_get_info_callback(hsa_executable_t executable api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_info_fn(executable, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_info, &api_data, api_callback_arg); return ret; @@ -2405,14 +2473,15 @@ static hsa_status_t hsa_executable_get_info_callback(hsa_executable_t executable static hsa_status_t hsa_executable_global_variable_define_callback(hsa_executable_t executable, const char* variable_name, void* address) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_global_variable_define.executable = executable; - api_data.args.hsa_executable_global_variable_define.address = address; api_data.args.hsa_executable_global_variable_define.variable_name = variable_name; + api_data.args.hsa_executable_global_variable_define.address = address; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_global_variable_define, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_global_variable_define, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_global_variable_define_fn(executable, variable_name, address); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_global_variable_define, &api_data, api_callback_arg); return ret; @@ -2420,15 +2489,16 @@ static hsa_status_t hsa_executable_global_variable_define_callback(hsa_executabl static hsa_status_t hsa_executable_agent_global_variable_define_callback(hsa_executable_t executable, hsa_agent_t agent, const char* variable_name, void* address) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_agent_global_variable_define.executable = executable; - api_data.args.hsa_executable_agent_global_variable_define.address = address; api_data.args.hsa_executable_agent_global_variable_define.agent = agent; api_data.args.hsa_executable_agent_global_variable_define.variable_name = variable_name; + api_data.args.hsa_executable_agent_global_variable_define.address = address; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_agent_global_variable_define, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_agent_global_variable_define, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_agent_global_variable_define_fn(executable, agent, variable_name, address); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_agent_global_variable_define, &api_data, api_callback_arg); return ret; @@ -2436,15 +2506,16 @@ static hsa_status_t hsa_executable_agent_global_variable_define_callback(hsa_exe static hsa_status_t hsa_executable_readonly_variable_define_callback(hsa_executable_t executable, hsa_agent_t agent, const char* variable_name, void* address) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_readonly_variable_define.executable = executable; - api_data.args.hsa_executable_readonly_variable_define.address = address; api_data.args.hsa_executable_readonly_variable_define.agent = agent; api_data.args.hsa_executable_readonly_variable_define.variable_name = variable_name; + api_data.args.hsa_executable_readonly_variable_define.address = address; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_readonly_variable_define, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_readonly_variable_define, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_readonly_variable_define_fn(executable, agent, variable_name, address); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_readonly_variable_define, &api_data, api_callback_arg); return ret; @@ -2459,6 +2530,7 @@ static hsa_status_t hsa_executable_validate_callback(hsa_executable_t executable api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_validate_fn(executable, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate, &api_data, api_callback_arg); return ret; @@ -2466,25 +2538,26 @@ static hsa_status_t hsa_executable_validate_callback(hsa_executable_t executable static hsa_status_t hsa_executable_get_symbol_callback(hsa_executable_t executable, const char* module_name, const char* symbol_name, hsa_agent_t agent, int32_t call_convention, hsa_executable_symbol_t* symbol) { hsa_api_data_t api_data{}; api_data.args.hsa_executable_get_symbol.executable = executable; + api_data.args.hsa_executable_get_symbol.module_name = module_name; api_data.args.hsa_executable_get_symbol.symbol_name = symbol_name; - api_data.args.hsa_executable_get_symbol.symbol = symbol; api_data.args.hsa_executable_get_symbol.agent = agent; api_data.args.hsa_executable_get_symbol.call_convention = call_convention; - api_data.args.hsa_executable_get_symbol.module_name = module_name; + api_data.args.hsa_executable_get_symbol.symbol = symbol; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_get_symbol, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_symbol_fn(executable, module_name, symbol_name, agent, call_convention, symbol); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_symbol_get_info_callback(hsa_executable_symbol_t executable_symbol, hsa_executable_symbol_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_symbol_get_info.attribute = attribute; api_data.args.hsa_executable_symbol_get_info.executable_symbol = executable_symbol; + api_data.args.hsa_executable_symbol_get_info.attribute = attribute; api_data.args.hsa_executable_symbol_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2492,14 +2565,15 @@ static hsa_status_t hsa_executable_symbol_get_info_callback(hsa_executable_symbo api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_symbol_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_symbol_get_info_fn(executable_symbol, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_symbol_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_iterate_symbols_callback(hsa_executable_t executable, hsa_status_t (* callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_iterate_symbols.callback = callback; api_data.args.hsa_executable_iterate_symbols.executable = executable; + api_data.args.hsa_executable_iterate_symbols.callback = callback; api_data.args.hsa_executable_iterate_symbols.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2507,6 +2581,7 @@ static hsa_status_t hsa_executable_iterate_symbols_callback(hsa_executable_t exe api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_symbols, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_symbols_fn(executable, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_symbols, &api_data, api_callback_arg); return ret; @@ -2521,77 +2596,82 @@ static hsa_status_t hsa_status_string_callback(hsa_status_t status, const char** api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_status_string, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_status_string_fn(status, status_string); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_status_string, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_extension_get_name_callback(uint16_t extension, const char** name) { hsa_api_data_t api_data{}; - api_data.args.hsa_extension_get_name.name = name; api_data.args.hsa_extension_get_name.extension = extension; + api_data.args.hsa_extension_get_name.name = name; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_extension_get_name, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_extension_get_name, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_extension_get_name_fn(extension, name); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_extension_get_name, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_system_major_extension_supported_callback(uint16_t extension, uint16_t version_major, uint16_t* version_minor, bool* result) { hsa_api_data_t api_data{}; - api_data.args.hsa_system_major_extension_supported.version_minor = version_minor; - api_data.args.hsa_system_major_extension_supported.result = result; api_data.args.hsa_system_major_extension_supported.extension = extension; api_data.args.hsa_system_major_extension_supported.version_major = version_major; + api_data.args.hsa_system_major_extension_supported.version_minor = version_minor; + api_data.args.hsa_system_major_extension_supported.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_system_major_extension_supported, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_major_extension_supported, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_major_extension_supported_fn(extension, version_major, version_minor, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_major_extension_supported, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_system_get_major_extension_table_callback(uint16_t extension, uint16_t version_major, size_t table_length, void* table) { hsa_api_data_t api_data{}; - api_data.args.hsa_system_get_major_extension_table.table = table; - api_data.args.hsa_system_get_major_extension_table.table_length = table_length; api_data.args.hsa_system_get_major_extension_table.extension = extension; api_data.args.hsa_system_get_major_extension_table.version_major = version_major; + api_data.args.hsa_system_get_major_extension_table.table_length = table_length; + api_data.args.hsa_system_get_major_extension_table.table = table; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_system_get_major_extension_table, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_major_extension_table, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_system_get_major_extension_table_fn(extension, version_major, table_length, table); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_system_get_major_extension_table, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_major_extension_supported_callback(uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t* version_minor, bool* result) { hsa_api_data_t api_data{}; - api_data.args.hsa_agent_major_extension_supported.result = result; - api_data.args.hsa_agent_major_extension_supported.version_minor = version_minor; - api_data.args.hsa_agent_major_extension_supported.agent = agent; api_data.args.hsa_agent_major_extension_supported.extension = extension; + api_data.args.hsa_agent_major_extension_supported.agent = agent; api_data.args.hsa_agent_major_extension_supported.version_major = version_major; + api_data.args.hsa_agent_major_extension_supported.version_minor = version_minor; + api_data.args.hsa_agent_major_extension_supported.result = result; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_major_extension_supported, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_major_extension_supported, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_major_extension_supported_fn(extension, agent, version_major, version_minor, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_major_extension_supported, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_cache_get_info_callback(hsa_cache_t cache, hsa_cache_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_cache_get_info.attribute = attribute; api_data.args.hsa_cache_get_info.cache = cache; + api_data.args.hsa_cache_get_info.attribute = attribute; api_data.args.hsa_cache_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2599,21 +2679,23 @@ static hsa_status_t hsa_cache_get_info_callback(hsa_cache_t cache, hsa_cache_inf api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_cache_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_cache_get_info_fn(cache, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_cache_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_iterate_caches_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_cache_t cache, void* data), void* data) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_iterate_caches.agent = agent; api_data.args.hsa_agent_iterate_caches.callback = callback; api_data.args.hsa_agent_iterate_caches.data = data; - api_data.args.hsa_agent_iterate_caches.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_iterate_caches, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_caches, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_caches_fn(agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_caches, &api_data, api_callback_arg); return ret; @@ -2646,17 +2728,18 @@ static void hsa_signal_silent_store_screlease_callback(hsa_signal_t signal, hsa_ } static hsa_status_t hsa_signal_group_create_callback(uint32_t num_signals, const hsa_signal_t* signals, uint32_t num_consumers, const hsa_agent_t* consumers, hsa_signal_group_t* signal_group) { hsa_api_data_t api_data{}; - api_data.args.hsa_signal_group_create.signals = signals; api_data.args.hsa_signal_group_create.num_signals = num_signals; - api_data.args.hsa_signal_group_create.signal_group = signal_group; - api_data.args.hsa_signal_group_create.consumers = consumers; + api_data.args.hsa_signal_group_create.signals = signals; api_data.args.hsa_signal_group_create.num_consumers = num_consumers; + api_data.args.hsa_signal_group_create.consumers = consumers; + api_data.args.hsa_signal_group_create.signal_group = signal_group; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_group_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_create, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_create_fn(num_signals, signals, num_consumers, consumers, signal_group); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_create, &api_data, api_callback_arg); return ret; @@ -2670,6 +2753,7 @@ static hsa_status_t hsa_signal_group_destroy_callback(hsa_signal_group_t signal_ api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_destroy_fn(signal_group); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_destroy, &api_data, api_callback_arg); return ret; @@ -2677,17 +2761,18 @@ static hsa_status_t hsa_signal_group_destroy_callback(hsa_signal_group_t signal_ static hsa_status_t hsa_signal_group_wait_any_scacquire_callback(hsa_signal_group_t signal_group, const hsa_signal_condition_t* conditions, const hsa_signal_value_t* compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t* signal, hsa_signal_value_t* value) { hsa_api_data_t api_data{}; api_data.args.hsa_signal_group_wait_any_scacquire.signal_group = signal_group; + api_data.args.hsa_signal_group_wait_any_scacquire.conditions = conditions; + api_data.args.hsa_signal_group_wait_any_scacquire.compare_values = compare_values; api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint = wait_state_hint; api_data.args.hsa_signal_group_wait_any_scacquire.signal = signal; - api_data.args.hsa_signal_group_wait_any_scacquire.compare_values = compare_values; api_data.args.hsa_signal_group_wait_any_scacquire.value = value; - api_data.args.hsa_signal_group_wait_any_scacquire.conditions = conditions; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_wait_any_scacquire_fn(signal_group, conditions, compare_values, wait_state_hint, signal, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_scacquire, &api_data, api_callback_arg); return ret; @@ -2695,40 +2780,42 @@ static hsa_status_t hsa_signal_group_wait_any_scacquire_callback(hsa_signal_grou static hsa_status_t hsa_signal_group_wait_any_relaxed_callback(hsa_signal_group_t signal_group, const hsa_signal_condition_t* conditions, const hsa_signal_value_t* compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t* signal, hsa_signal_value_t* value) { hsa_api_data_t api_data{}; api_data.args.hsa_signal_group_wait_any_relaxed.signal_group = signal_group; + api_data.args.hsa_signal_group_wait_any_relaxed.conditions = conditions; + api_data.args.hsa_signal_group_wait_any_relaxed.compare_values = compare_values; api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint = wait_state_hint; api_data.args.hsa_signal_group_wait_any_relaxed.signal = signal; - api_data.args.hsa_signal_group_wait_any_relaxed.compare_values = compare_values; api_data.args.hsa_signal_group_wait_any_relaxed.value = value; - api_data.args.hsa_signal_group_wait_any_relaxed.conditions = conditions; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_signal_group_wait_any_relaxed_fn(signal_group, conditions, compare_values, wait_state_hint, signal, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_signal_group_wait_any_relaxed, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_agent_iterate_isas_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_isa_t isa, void* data), void* data) { hsa_api_data_t api_data{}; + api_data.args.hsa_agent_iterate_isas.agent = agent; api_data.args.hsa_agent_iterate_isas.callback = callback; api_data.args.hsa_agent_iterate_isas.data = data; - api_data.args.hsa_agent_iterate_isas.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_agent_iterate_isas, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_isas, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_agent_iterate_isas_fn(agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_agent_iterate_isas, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_get_info_alt_callback(hsa_isa_t isa, hsa_isa_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_info_alt.attribute = attribute; api_data.args.hsa_isa_get_info_alt.isa = isa; + api_data.args.hsa_isa_get_info_alt.attribute = attribute; api_data.args.hsa_isa_get_info_alt.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2736,14 +2823,15 @@ static hsa_status_t hsa_isa_get_info_alt_callback(hsa_isa_t isa, hsa_isa_info_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info_alt, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_info_alt_fn(isa, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_info_alt, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_get_exception_policies_callback(hsa_isa_t isa, hsa_profile_t profile, uint16_t* mask) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_get_exception_policies.profile = profile; api_data.args.hsa_isa_get_exception_policies.isa = isa; + api_data.args.hsa_isa_get_exception_policies.profile = profile; api_data.args.hsa_isa_get_exception_policies.mask = mask; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2751,6 +2839,7 @@ static hsa_status_t hsa_isa_get_exception_policies_callback(hsa_isa_t isa, hsa_p api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_exception_policies, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_exception_policies_fn(isa, profile, mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_exception_policies, &api_data, api_callback_arg); return ret; @@ -2758,23 +2847,24 @@ static hsa_status_t hsa_isa_get_exception_policies_callback(hsa_isa_t isa, hsa_p static hsa_status_t hsa_isa_get_round_method_callback(hsa_isa_t isa, hsa_fp_type_t fp_type, hsa_flush_mode_t flush_mode, hsa_round_method_t* round_method) { hsa_api_data_t api_data{}; api_data.args.hsa_isa_get_round_method.isa = isa; - api_data.args.hsa_isa_get_round_method.round_method = round_method; - api_data.args.hsa_isa_get_round_method.flush_mode = flush_mode; api_data.args.hsa_isa_get_round_method.fp_type = fp_type; + api_data.args.hsa_isa_get_round_method.flush_mode = flush_mode; + api_data.args.hsa_isa_get_round_method.round_method = round_method; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_isa_get_round_method, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_round_method, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_get_round_method_fn(isa, fp_type, flush_mode, round_method); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_get_round_method, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_wavefront_get_info_callback(hsa_wavefront_t wavefront, hsa_wavefront_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_wavefront_get_info.attribute = attribute; api_data.args.hsa_wavefront_get_info.wavefront = wavefront; + api_data.args.hsa_wavefront_get_info.attribute = attribute; api_data.args.hsa_wavefront_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2782,14 +2872,15 @@ static hsa_status_t hsa_wavefront_get_info_callback(hsa_wavefront_t wavefront, h api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_wavefront_get_info, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_wavefront_get_info_fn(wavefront, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_wavefront_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_isa_iterate_wavefronts_callback(hsa_isa_t isa, hsa_status_t (* callback)(hsa_wavefront_t wavefront, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_isa_iterate_wavefronts.callback = callback; api_data.args.hsa_isa_iterate_wavefronts.isa = isa; + api_data.args.hsa_isa_iterate_wavefronts.callback = callback; api_data.args.hsa_isa_iterate_wavefronts.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2797,51 +2888,55 @@ static hsa_status_t hsa_isa_iterate_wavefronts_callback(hsa_isa_t isa, hsa_statu api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_iterate_wavefronts, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_isa_iterate_wavefronts_fn(isa, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_isa_iterate_wavefronts, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_get_symbol_from_name_callback(hsa_code_object_t code_object, const char* module_name, const char* symbol_name, hsa_code_symbol_t* symbol) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_get_symbol_from_name.module_name = module_name; - api_data.args.hsa_code_object_get_symbol_from_name.symbol = symbol; api_data.args.hsa_code_object_get_symbol_from_name.code_object = code_object; + api_data.args.hsa_code_object_get_symbol_from_name.module_name = module_name; api_data.args.hsa_code_object_get_symbol_from_name.symbol_name = symbol_name; + api_data.args.hsa_code_object_get_symbol_from_name.symbol = symbol; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_get_symbol_from_name_fn(code_object, module_name, symbol_name, symbol); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_get_symbol_from_name, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_reader_create_from_file_callback(hsa_file_t file, hsa_code_object_reader_t* code_object_reader) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_reader_create_from_file.code_object_reader = code_object_reader; api_data.args.hsa_code_object_reader_create_from_file.file = file; + api_data.args.hsa_code_object_reader_create_from_file.code_object_reader = code_object_reader; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_reader_create_from_file, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_file, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_create_from_file_fn(file, code_object_reader); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_file, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_code_object_reader_create_from_memory_callback(const void* code_object, size_t size, hsa_code_object_reader_t* code_object_reader) { hsa_api_data_t api_data{}; - api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader = code_object_reader; api_data.args.hsa_code_object_reader_create_from_memory.code_object = code_object; api_data.args.hsa_code_object_reader_create_from_memory.size = size; + api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader = code_object_reader; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_create_from_memory_fn(code_object, size, code_object_reader); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_create_from_memory, &api_data, api_callback_arg); return ret; @@ -2855,6 +2950,7 @@ static hsa_status_t hsa_code_object_reader_destroy_callback(hsa_code_object_read api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_destroy, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_code_object_reader_destroy_fn(code_object_reader); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_code_object_reader_destroy, &api_data, api_callback_arg); return ret; @@ -2863,47 +2959,50 @@ static hsa_status_t hsa_executable_create_alt_callback(hsa_profile_t profile, hs hsa_api_data_t api_data{}; api_data.args.hsa_executable_create_alt.profile = profile; api_data.args.hsa_executable_create_alt.default_float_rounding_mode = default_float_rounding_mode; - api_data.args.hsa_executable_create_alt.executable = executable; api_data.args.hsa_executable_create_alt.options = options; + api_data.args.hsa_executable_create_alt.executable = executable; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_create_alt, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create_alt, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_create_alt_fn(profile, default_float_rounding_mode, options, executable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_create_alt, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_load_program_code_object_callback(hsa_executable_t executable, hsa_code_object_reader_t code_object_reader, const char* options, hsa_loaded_code_object_t* loaded_code_object) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_load_program_code_object.code_object_reader = code_object_reader; api_data.args.hsa_executable_load_program_code_object.executable = executable; - api_data.args.hsa_executable_load_program_code_object.loaded_code_object = loaded_code_object; + api_data.args.hsa_executable_load_program_code_object.code_object_reader = code_object_reader; api_data.args.hsa_executable_load_program_code_object.options = options; + api_data.args.hsa_executable_load_program_code_object.loaded_code_object = loaded_code_object; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_load_program_code_object, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_program_code_object, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_program_code_object_fn(executable, code_object_reader, options, loaded_code_object); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_program_code_object, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_load_agent_code_object_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_reader_t code_object_reader, const char* options, hsa_loaded_code_object_t* loaded_code_object) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_load_agent_code_object.code_object_reader = code_object_reader; api_data.args.hsa_executable_load_agent_code_object.executable = executable; - api_data.args.hsa_executable_load_agent_code_object.loaded_code_object = loaded_code_object; - api_data.args.hsa_executable_load_agent_code_object.options = options; api_data.args.hsa_executable_load_agent_code_object.agent = agent; + api_data.args.hsa_executable_load_agent_code_object.code_object_reader = code_object_reader; + api_data.args.hsa_executable_load_agent_code_object.options = options; + api_data.args.hsa_executable_load_agent_code_object.loaded_code_object = loaded_code_object; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_load_agent_code_object, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_agent_code_object, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_load_agent_code_object_fn(executable, agent, code_object_reader, options, loaded_code_object); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_load_agent_code_object, &api_data, api_callback_arg); return ret; @@ -2919,46 +3018,49 @@ static hsa_status_t hsa_executable_validate_alt_callback(hsa_executable_t execut api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate_alt, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_validate_alt_fn(executable, options, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_validate_alt, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_get_symbol_by_name_callback(hsa_executable_t executable, const char* symbol_name, const hsa_agent_t* agent, hsa_executable_symbol_t* symbol) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_get_symbol_by_name.symbol = symbol; api_data.args.hsa_executable_get_symbol_by_name.executable = executable; api_data.args.hsa_executable_get_symbol_by_name.symbol_name = symbol_name; api_data.args.hsa_executable_get_symbol_by_name.agent = agent; + api_data.args.hsa_executable_get_symbol_by_name.symbol = symbol; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_get_symbol_by_name, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol_by_name, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_get_symbol_by_name_fn(executable, symbol_name, agent, symbol); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_get_symbol_by_name, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_iterate_agent_symbols_callback(hsa_executable_t executable, hsa_agent_t agent, hsa_status_t (* callback)(hsa_executable_t exec, hsa_agent_t agent, hsa_executable_symbol_t symbol, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_iterate_agent_symbols.callback = callback; api_data.args.hsa_executable_iterate_agent_symbols.executable = executable; - api_data.args.hsa_executable_iterate_agent_symbols.data = data; api_data.args.hsa_executable_iterate_agent_symbols.agent = agent; + api_data.args.hsa_executable_iterate_agent_symbols.callback = callback; + api_data.args.hsa_executable_iterate_agent_symbols.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_agent_symbols_fn(executable, agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_agent_symbols, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_executable_iterate_program_symbols_callback(hsa_executable_t executable, hsa_status_t (* callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void* data), void* data) { hsa_api_data_t api_data{}; - api_data.args.hsa_executable_iterate_program_symbols.callback = callback; api_data.args.hsa_executable_iterate_program_symbols.executable = executable; + api_data.args.hsa_executable_iterate_program_symbols.callback = callback; api_data.args.hsa_executable_iterate_program_symbols.data = data; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -2966,6 +3068,7 @@ static hsa_status_t hsa_executable_iterate_program_symbols_callback(hsa_executab api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_program_symbols, &api_data, api_callback_arg); hsa_status_t ret = CoreApiTable_saved.hsa_executable_iterate_program_symbols_fn(executable, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_executable_iterate_program_symbols, &api_data, api_callback_arg); return ret; @@ -2974,28 +3077,30 @@ static hsa_status_t hsa_executable_iterate_program_symbols_callback(hsa_executab // block: AmdExtTable API static hsa_status_t hsa_amd_coherency_get_type_callback(hsa_agent_t agent, hsa_amd_coherency_type_t* type) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_coherency_get_type.type = type; api_data.args.hsa_amd_coherency_get_type.agent = agent; + api_data.args.hsa_amd_coherency_get_type.type = type; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_coherency_get_type, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_get_type, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_coherency_get_type_fn(agent, type); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_get_type, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_coherency_set_type_callback(hsa_agent_t agent, hsa_amd_coherency_type_t type) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_coherency_set_type.type = type; api_data.args.hsa_amd_coherency_set_type.agent = agent; + api_data.args.hsa_amd_coherency_set_type.type = type; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_coherency_set_type, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_set_type, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_coherency_set_type_fn(agent, type); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_coherency_set_type, &api_data, api_callback_arg); return ret; @@ -3010,6 +3115,7 @@ static hsa_status_t hsa_amd_profiling_set_profiler_enabled_callback(hsa_queue_t* api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_set_profiler_enabled_fn(queue, enable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, &api_data, api_callback_arg); return ret; @@ -3023,14 +3129,15 @@ static hsa_status_t hsa_amd_profiling_async_copy_enable_callback(bool enable) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_async_copy_enable_fn(enable); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_async_copy_enable, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_profiling_get_dispatch_time_callback(hsa_agent_t agent, hsa_signal_t signal, hsa_amd_profiling_dispatch_time_t* time) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_profiling_get_dispatch_time.signal = signal; api_data.args.hsa_amd_profiling_get_dispatch_time.agent = agent; + api_data.args.hsa_amd_profiling_get_dispatch_time.signal = signal; api_data.args.hsa_amd_profiling_get_dispatch_time.time = time; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3038,6 +3145,7 @@ static hsa_status_t hsa_amd_profiling_get_dispatch_time_callback(hsa_agent_t age api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_get_dispatch_time_fn(agent, signal, time); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_dispatch_time, &api_data, api_callback_arg); return ret; @@ -3052,21 +3160,23 @@ static hsa_status_t hsa_amd_profiling_get_async_copy_time_callback(hsa_signal_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_get_async_copy_time_fn(signal, time); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_get_async_copy_time, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_profiling_convert_tick_to_system_domain_callback(hsa_agent_t agent, uint64_t agent_tick, uint64_t* system_tick) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick = system_tick; api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent = agent; api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick = agent_tick; + api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick = system_tick; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_profiling_convert_tick_to_system_domain_fn(agent, agent_tick, system_tick); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, &api_data, api_callback_arg); return ret; @@ -3074,9 +3184,9 @@ static hsa_status_t hsa_amd_profiling_convert_tick_to_system_domain_callback(hsa static hsa_status_t hsa_amd_signal_async_handler_callback(hsa_signal_t signal, hsa_signal_condition_t cond, hsa_signal_value_t value, hsa_amd_signal_handler handler, void* arg) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_signal_async_handler.signal = signal; - api_data.args.hsa_amd_signal_async_handler.handler = handler; api_data.args.hsa_amd_signal_async_handler.cond = cond; api_data.args.hsa_amd_signal_async_handler.value = value; + api_data.args.hsa_amd_signal_async_handler.handler = handler; api_data.args.hsa_amd_signal_async_handler.arg = arg; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3084,6 +3194,7 @@ static hsa_status_t hsa_amd_signal_async_handler_callback(hsa_signal_t signal, h api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_async_handler, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_signal_async_handler_fn(signal, cond, value, handler, arg); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_async_handler, &api_data, api_callback_arg); return ret; @@ -3098,25 +3209,27 @@ static hsa_status_t hsa_amd_async_function_callback(void (* callback)(void* arg) api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_async_function, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_async_function_fn(callback, arg); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_async_function, &api_data, api_callback_arg); return ret; } static uint32_t hsa_amd_signal_wait_any_callback(uint32_t signal_count, hsa_signal_t* signals, hsa_signal_condition_t* conds, hsa_signal_value_t* values, uint64_t timeout_hint, hsa_wait_state_t wait_hint, hsa_signal_value_t* satisfying_value) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_signal_wait_any.timeout_hint = timeout_hint; api_data.args.hsa_amd_signal_wait_any.signal_count = signal_count; - api_data.args.hsa_amd_signal_wait_any.conds = conds; api_data.args.hsa_amd_signal_wait_any.signals = signals; + api_data.args.hsa_amd_signal_wait_any.conds = conds; api_data.args.hsa_amd_signal_wait_any.values = values; - api_data.args.hsa_amd_signal_wait_any.satisfying_value = satisfying_value; + api_data.args.hsa_amd_signal_wait_any.timeout_hint = timeout_hint; api_data.args.hsa_amd_signal_wait_any.wait_hint = wait_hint; + api_data.args.hsa_amd_signal_wait_any.satisfying_value = satisfying_value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_signal_wait_any, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_wait_any, &api_data, api_callback_arg); uint32_t ret = AmdExtTable_saved.hsa_amd_signal_wait_any_fn(signal_count, signals, conds, values, timeout_hint, wait_hint, satisfying_value); + api_data.uint32_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_wait_any, &api_data, api_callback_arg); return ret; @@ -3124,22 +3237,23 @@ static uint32_t hsa_amd_signal_wait_any_callback(uint32_t signal_count, hsa_sign static hsa_status_t hsa_amd_queue_cu_set_mask_callback(const hsa_queue_t* queue, uint32_t num_cu_mask_count, const uint32_t* cu_mask) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_queue_cu_set_mask.queue = queue; - api_data.args.hsa_amd_queue_cu_set_mask.cu_mask = cu_mask; api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count = num_cu_mask_count; + api_data.args.hsa_amd_queue_cu_set_mask.cu_mask = cu_mask; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_cu_set_mask_fn(queue, num_cu_mask_count, cu_mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_cu_set_mask, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_pool_get_info_callback(hsa_amd_memory_pool_t memory_pool, hsa_amd_memory_pool_info_t attribute, void* value) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_pool_get_info.attribute = attribute; api_data.args.hsa_amd_memory_pool_get_info.memory_pool = memory_pool; + api_data.args.hsa_amd_memory_pool_get_info.attribute = attribute; api_data.args.hsa_amd_memory_pool_get_info.value = value; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3147,37 +3261,40 @@ static hsa_status_t hsa_amd_memory_pool_get_info_callback(hsa_amd_memory_pool_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_get_info, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_get_info_fn(memory_pool, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_agent_iterate_memory_pools_callback(hsa_agent_t agent, hsa_status_t (* callback)(hsa_amd_memory_pool_t memory_pool, void* data), void* data) { hsa_api_data_t api_data{}; + api_data.args.hsa_amd_agent_iterate_memory_pools.agent = agent; api_data.args.hsa_amd_agent_iterate_memory_pools.callback = callback; api_data.args.hsa_amd_agent_iterate_memory_pools.data = data; - api_data.args.hsa_amd_agent_iterate_memory_pools.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_agent_iterate_memory_pools_fn(agent, callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_iterate_memory_pools, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_pool_allocate_callback(hsa_amd_memory_pool_t memory_pool, size_t size, uint32_t flags, void** ptr) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_pool_allocate.ptr = ptr; - api_data.args.hsa_amd_memory_pool_allocate.flags = flags; api_data.args.hsa_amd_memory_pool_allocate.memory_pool = memory_pool; api_data.args.hsa_amd_memory_pool_allocate.size = size; + api_data.args.hsa_amd_memory_pool_allocate.flags = flags; + api_data.args.hsa_amd_memory_pool_allocate.ptr = ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_pool_allocate, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_allocate, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_allocate_fn(memory_pool, size, flags, ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_allocate, &api_data, api_callback_arg); return ret; @@ -3191,58 +3308,62 @@ static hsa_status_t hsa_amd_memory_pool_free_callback(void* ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_free, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_free_fn(ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_free, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_async_copy_callback(void* dst, hsa_agent_t dst_agent, const void* src, hsa_agent_t src_agent, size_t size, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_async_copy.completion_signal = completion_signal; - api_data.args.hsa_amd_memory_async_copy.src = src; api_data.args.hsa_amd_memory_async_copy.dst = dst; - api_data.args.hsa_amd_memory_async_copy.num_dep_signals = num_dep_signals; - api_data.args.hsa_amd_memory_async_copy.src_agent = src_agent; - api_data.args.hsa_amd_memory_async_copy.dep_signals = dep_signals; api_data.args.hsa_amd_memory_async_copy.dst_agent = dst_agent; + api_data.args.hsa_amd_memory_async_copy.src = src; + api_data.args.hsa_amd_memory_async_copy.src_agent = src_agent; api_data.args.hsa_amd_memory_async_copy.size = size; + api_data.args.hsa_amd_memory_async_copy.num_dep_signals = num_dep_signals; + api_data.args.hsa_amd_memory_async_copy.dep_signals = dep_signals; + api_data.args.hsa_amd_memory_async_copy.completion_signal = completion_signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_async_copy, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_async_copy_fn(dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_agent_memory_pool_get_info_callback(hsa_agent_t agent, hsa_amd_memory_pool_t memory_pool, hsa_amd_agent_memory_pool_info_t attribute, void* value) { hsa_api_data_t api_data{}; + api_data.args.hsa_amd_agent_memory_pool_get_info.agent = agent; + api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool = memory_pool; api_data.args.hsa_amd_agent_memory_pool_get_info.attribute = attribute; api_data.args.hsa_amd_agent_memory_pool_get_info.value = value; - api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool = memory_pool; - api_data.args.hsa_amd_agent_memory_pool_get_info.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_agent_memory_pool_get_info_fn(agent, memory_pool, attribute, value); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agent_memory_pool_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_agents_allow_access_callback(uint32_t num_agents, const hsa_agent_t* agents, const uint32_t* flags, const void* ptr) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_agents_allow_access.flags = flags; - api_data.args.hsa_amd_agents_allow_access.agents = agents; - api_data.args.hsa_amd_agents_allow_access.ptr = ptr; api_data.args.hsa_amd_agents_allow_access.num_agents = num_agents; + api_data.args.hsa_amd_agents_allow_access.agents = agents; + api_data.args.hsa_amd_agents_allow_access.flags = flags; + api_data.args.hsa_amd_agents_allow_access.ptr = ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_agents_allow_access, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agents_allow_access, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_agents_allow_access_fn(num_agents, agents, flags, ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_agents_allow_access, &api_data, api_callback_arg); return ret; @@ -3258,21 +3379,23 @@ static hsa_status_t hsa_amd_memory_pool_can_migrate_callback(hsa_amd_memory_pool api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_pool_can_migrate_fn(src_memory_pool, dst_memory_pool, result); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_pool_can_migrate, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_migrate_callback(const void* ptr, hsa_amd_memory_pool_t memory_pool, uint32_t flags) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_migrate.flags = flags; api_data.args.hsa_amd_memory_migrate.ptr = ptr; api_data.args.hsa_amd_memory_migrate.memory_pool = memory_pool; + api_data.args.hsa_amd_memory_migrate.flags = flags; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_migrate, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_migrate, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_migrate_fn(ptr, memory_pool, flags); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_migrate, &api_data, api_callback_arg); return ret; @@ -3280,16 +3403,17 @@ static hsa_status_t hsa_amd_memory_migrate_callback(const void* ptr, hsa_amd_mem static hsa_status_t hsa_amd_memory_lock_callback(void* host_ptr, size_t size, hsa_agent_t* agents, int num_agent, void** agent_ptr) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_memory_lock.host_ptr = host_ptr; - api_data.args.hsa_amd_memory_lock.num_agent = num_agent; - api_data.args.hsa_amd_memory_lock.agents = agents; - api_data.args.hsa_amd_memory_lock.agent_ptr = agent_ptr; api_data.args.hsa_amd_memory_lock.size = size; + api_data.args.hsa_amd_memory_lock.agents = agents; + api_data.args.hsa_amd_memory_lock.num_agent = num_agent; + api_data.args.hsa_amd_memory_lock.agent_ptr = agent_ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_lock, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_lock, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_lock_fn(host_ptr, size, agents, num_agent, agent_ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_lock, &api_data, api_callback_arg); return ret; @@ -3303,21 +3427,23 @@ static hsa_status_t hsa_amd_memory_unlock_callback(void* host_ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_unlock, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_unlock_fn(host_ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_unlock, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_fill_callback(void* ptr, uint32_t value, size_t count) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_fill.count = count; api_data.args.hsa_amd_memory_fill.ptr = ptr; api_data.args.hsa_amd_memory_fill.value = value; + api_data.args.hsa_amd_memory_fill.count = count; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_fill, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_fill, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_fill_fn(ptr, value, count); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_fill, &api_data, api_callback_arg); return ret; @@ -3325,19 +3451,20 @@ static hsa_status_t hsa_amd_memory_fill_callback(void* ptr, uint32_t value, size static hsa_status_t hsa_amd_interop_map_buffer_callback(uint32_t num_agents, hsa_agent_t* agents, int interop_handle, uint32_t flags, size_t* size, void** ptr, size_t* metadata_size, const void** metadata) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_interop_map_buffer.num_agents = num_agents; - api_data.args.hsa_amd_interop_map_buffer.metadata_size = metadata_size; - api_data.args.hsa_amd_interop_map_buffer.flags = flags; api_data.args.hsa_amd_interop_map_buffer.agents = agents; - api_data.args.hsa_amd_interop_map_buffer.metadata = metadata; - api_data.args.hsa_amd_interop_map_buffer.ptr = ptr; api_data.args.hsa_amd_interop_map_buffer.interop_handle = interop_handle; + api_data.args.hsa_amd_interop_map_buffer.flags = flags; api_data.args.hsa_amd_interop_map_buffer.size = size; + api_data.args.hsa_amd_interop_map_buffer.ptr = ptr; + api_data.args.hsa_amd_interop_map_buffer.metadata_size = metadata_size; + api_data.args.hsa_amd_interop_map_buffer.metadata = metadata; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_interop_map_buffer, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_map_buffer, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_interop_map_buffer_fn(num_agents, agents, interop_handle, flags, size, ptr, metadata_size, metadata); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_map_buffer, &api_data, api_callback_arg); return ret; @@ -3351,87 +3478,93 @@ static hsa_status_t hsa_amd_interop_unmap_buffer_callback(void* ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_interop_unmap_buffer_fn(ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_interop_unmap_buffer, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_image_create_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const hsa_amd_image_descriptor_t* image_layout, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_t* image) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_image_create.image_descriptor = image_descriptor; - api_data.args.hsa_amd_image_create.image = image; api_data.args.hsa_amd_image_create.agent = agent; - api_data.args.hsa_amd_image_create.access_permission = access_permission; - api_data.args.hsa_amd_image_create.image_data = image_data; + api_data.args.hsa_amd_image_create.image_descriptor = image_descriptor; api_data.args.hsa_amd_image_create.image_layout = image_layout; + api_data.args.hsa_amd_image_create.image_data = image_data; + api_data.args.hsa_amd_image_create.access_permission = access_permission; + api_data.args.hsa_amd_image_create.image = image; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_image_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_image_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_image_create_fn(agent, image_descriptor, image_layout, image_data, access_permission, image); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_image_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_pointer_info_callback(void* ptr, hsa_amd_pointer_info_t* info, void* (* alloc)(size_t), uint32_t* num_agents_accessible, hsa_agent_t** accessible) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_pointer_info.info = info; - api_data.args.hsa_amd_pointer_info.accessible = accessible; - api_data.args.hsa_amd_pointer_info.alloc = alloc; api_data.args.hsa_amd_pointer_info.ptr = ptr; + api_data.args.hsa_amd_pointer_info.info = info; + api_data.args.hsa_amd_pointer_info.alloc = alloc; api_data.args.hsa_amd_pointer_info.num_agents_accessible = num_agents_accessible; + api_data.args.hsa_amd_pointer_info.accessible = accessible; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_pointer_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_pointer_info_fn(ptr, info, alloc, num_agents_accessible, accessible); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_pointer_info_set_userdata_callback(void* ptr, void* userdata) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_pointer_info_set_userdata.userdata = userdata; api_data.args.hsa_amd_pointer_info_set_userdata.ptr = ptr; + api_data.args.hsa_amd_pointer_info_set_userdata.userdata = userdata; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_pointer_info_set_userdata_fn(ptr, userdata); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_pointer_info_set_userdata, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_ipc_memory_create_callback(void* ptr, size_t len, hsa_amd_ipc_memory_t* handle) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_memory_create.handle = handle; api_data.args.hsa_amd_ipc_memory_create.ptr = ptr; api_data.args.hsa_amd_ipc_memory_create.len = len; + api_data.args.hsa_amd_ipc_memory_create.handle = handle; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_create_fn(ptr, len, handle); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_ipc_memory_attach_callback(const hsa_amd_ipc_memory_t* handle, size_t len, uint32_t num_agents, const hsa_agent_t* mapping_agents, void** mapped_ptr) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr = mapped_ptr; api_data.args.hsa_amd_ipc_memory_attach.handle = handle; - api_data.args.hsa_amd_ipc_memory_attach.mapping_agents = mapping_agents; api_data.args.hsa_amd_ipc_memory_attach.len = len; api_data.args.hsa_amd_ipc_memory_attach.num_agents = num_agents; + api_data.args.hsa_amd_ipc_memory_attach.mapping_agents = mapping_agents; + api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr = mapped_ptr; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_ipc_memory_attach, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_attach, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_attach_fn(handle, len, num_agents, mapping_agents, mapped_ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_attach, &api_data, api_callback_arg); return ret; @@ -3445,23 +3578,25 @@ static hsa_status_t hsa_amd_ipc_memory_detach_callback(void* mapped_ptr) { api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_detach, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_memory_detach_fn(mapped_ptr); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_memory_detach, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_signal_create_callback(hsa_signal_value_t initial_value, uint32_t num_consumers, const hsa_agent_t* consumers, uint64_t attributes, hsa_signal_t* signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_signal_create.attributes = attributes; - api_data.args.hsa_amd_signal_create.signal = signal; + api_data.args.hsa_amd_signal_create.initial_value = initial_value; api_data.args.hsa_amd_signal_create.num_consumers = num_consumers; api_data.args.hsa_amd_signal_create.consumers = consumers; - api_data.args.hsa_amd_signal_create.initial_value = initial_value; + api_data.args.hsa_amd_signal_create.attributes = attributes; + api_data.args.hsa_amd_signal_create.signal = signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_signal_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_signal_create_fn(initial_value, num_consumers, consumers, attributes, signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_signal_create, &api_data, api_callback_arg); return ret; @@ -3476,20 +3611,22 @@ static hsa_status_t hsa_amd_ipc_signal_create_callback(hsa_signal_t signal, hsa_ api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_signal_create_fn(signal, handle); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_ipc_signal_attach_callback(const hsa_amd_ipc_signal_t* handle, hsa_signal_t* signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_ipc_signal_attach.signal = signal; api_data.args.hsa_amd_ipc_signal_attach.handle = handle; + api_data.args.hsa_amd_ipc_signal_attach.signal = signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_ipc_signal_attach, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_attach, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_ipc_signal_attach_fn(handle, signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_ipc_signal_attach, &api_data, api_callback_arg); return ret; @@ -3504,6 +3641,7 @@ static hsa_status_t hsa_amd_register_system_event_handler_callback(hsa_amd_syste api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_register_system_event_handler, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_register_system_event_handler_fn(callback, data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_register_system_event_handler, &api_data, api_callback_arg); return ret; @@ -3511,19 +3649,20 @@ static hsa_status_t hsa_amd_register_system_event_handler_callback(hsa_amd_syste static hsa_status_t hsa_amd_queue_intercept_create_callback(hsa_agent_t agent_handle, uint32_t size, hsa_queue_type32_t type, void (* callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) { hsa_api_data_t api_data{}; api_data.args.hsa_amd_queue_intercept_create.agent_handle = agent_handle; - api_data.args.hsa_amd_queue_intercept_create.private_segment_size = private_segment_size; - api_data.args.hsa_amd_queue_intercept_create.data = data; - api_data.args.hsa_amd_queue_intercept_create.queue = queue; - api_data.args.hsa_amd_queue_intercept_create.callback = callback; - api_data.args.hsa_amd_queue_intercept_create.group_segment_size = group_segment_size; - api_data.args.hsa_amd_queue_intercept_create.type = type; api_data.args.hsa_amd_queue_intercept_create.size = size; + api_data.args.hsa_amd_queue_intercept_create.type = type; + api_data.args.hsa_amd_queue_intercept_create.callback = callback; + api_data.args.hsa_amd_queue_intercept_create.data = data; + api_data.args.hsa_amd_queue_intercept_create.private_segment_size = private_segment_size; + api_data.args.hsa_amd_queue_intercept_create.group_segment_size = group_segment_size; + api_data.args.hsa_amd_queue_intercept_create.queue = queue; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_queue_intercept_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_create, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_intercept_create_fn(agent_handle, size, type, callback, data, private_segment_size, group_segment_size, queue); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_create, &api_data, api_callback_arg); return ret; @@ -3539,6 +3678,7 @@ static hsa_status_t hsa_amd_queue_intercept_register_callback(hsa_queue_t* queue api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_register, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_intercept_register_fn(queue, callback, user_data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_intercept_register, &api_data, api_callback_arg); return ret; @@ -3553,28 +3693,30 @@ static hsa_status_t hsa_amd_queue_set_priority_callback(hsa_queue_t* queue, hsa_ api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_set_priority, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_queue_set_priority_fn(queue, priority); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_queue_set_priority, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_amd_memory_async_copy_rect_callback(const hsa_pitched_ptr_t* dst, const hsa_dim3_t* dst_offset, const hsa_pitched_ptr_t* src, const hsa_dim3_t* src_offset, const hsa_dim3_t* range, hsa_agent_t copy_agent, hsa_amd_copy_direction_t dir, uint32_t num_dep_signals, const hsa_signal_t* dep_signals, hsa_signal_t completion_signal) { hsa_api_data_t api_data{}; - api_data.args.hsa_amd_memory_async_copy_rect.completion_signal = completion_signal; + api_data.args.hsa_amd_memory_async_copy_rect.dst = dst; + api_data.args.hsa_amd_memory_async_copy_rect.dst_offset = dst_offset; api_data.args.hsa_amd_memory_async_copy_rect.src = src; api_data.args.hsa_amd_memory_async_copy_rect.src_offset = src_offset; - api_data.args.hsa_amd_memory_async_copy_rect.dst_offset = dst_offset; - api_data.args.hsa_amd_memory_async_copy_rect.dst = dst; - api_data.args.hsa_amd_memory_async_copy_rect.dep_signals = dep_signals; - api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals = num_dep_signals; api_data.args.hsa_amd_memory_async_copy_rect.range = range; api_data.args.hsa_amd_memory_async_copy_rect.copy_agent = copy_agent; api_data.args.hsa_amd_memory_async_copy_rect.dir = dir; + api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals = num_dep_signals; + api_data.args.hsa_amd_memory_async_copy_rect.dep_signals = dep_signals; + api_data.args.hsa_amd_memory_async_copy_rect.completion_signal = completion_signal; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_memory_async_copy_rect_fn(dst, dst_offset, src, src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, completion_signal); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_memory_async_copy_rect, &api_data, api_callback_arg); return ret; @@ -3589,6 +3731,7 @@ static hsa_status_t hsa_amd_runtime_queue_create_register_callback(hsa_amd_runti api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_data, api_callback_arg); hsa_status_t ret = AmdExtTable_saved.hsa_amd_runtime_queue_create_register_fn(callback, user_data); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_amd_runtime_queue_create_register, &api_data, api_callback_arg); return ret; @@ -3597,141 +3740,149 @@ static hsa_status_t hsa_amd_runtime_queue_create_register_callback(hsa_amd_runti // block: ImageExtTable API static hsa_status_t hsa_ext_image_get_capability_callback(hsa_agent_t agent, hsa_ext_image_geometry_t geometry, const hsa_ext_image_format_t* image_format, uint32_t* capability_mask) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_get_capability.geometry = geometry; - api_data.args.hsa_ext_image_get_capability.capability_mask = capability_mask; - api_data.args.hsa_ext_image_get_capability.image_format = image_format; api_data.args.hsa_ext_image_get_capability.agent = agent; + api_data.args.hsa_ext_image_get_capability.geometry = geometry; + api_data.args.hsa_ext_image_get_capability.image_format = image_format; + api_data.args.hsa_ext_image_get_capability.capability_mask = capability_mask; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_get_capability, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_get_capability_fn(agent, geometry, image_format, capability_mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_data_get_info_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, hsa_access_permission_t access_permission, hsa_ext_image_data_info_t* image_data_info) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_data_get_info.image_descriptor = image_descriptor; - api_data.args.hsa_ext_image_data_get_info.image_data_info = image_data_info; api_data.args.hsa_ext_image_data_get_info.agent = agent; + api_data.args.hsa_ext_image_data_get_info.image_descriptor = image_descriptor; api_data.args.hsa_ext_image_data_get_info.access_permission = access_permission; + api_data.args.hsa_ext_image_data_get_info.image_data_info = image_data_info; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_data_get_info, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_data_get_info_fn(agent, image_descriptor, access_permission, image_data_info); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_create_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_t* image) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_create.image_data = image_data; - api_data.args.hsa_ext_image_create.image_descriptor = image_descriptor; - api_data.args.hsa_ext_image_create.image = image; api_data.args.hsa_ext_image_create.agent = agent; + api_data.args.hsa_ext_image_create.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_create.image_data = image_data; api_data.args.hsa_ext_image_create.access_permission = access_permission; + api_data.args.hsa_ext_image_create.image = image; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_create, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_create_fn(agent, image_descriptor, image_data, access_permission, image); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_import_callback(hsa_agent_t agent, const void* src_memory, size_t src_row_pitch, size_t src_slice_pitch, hsa_ext_image_t dst_image, const hsa_ext_image_region_t* image_region) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_import.src_row_pitch = src_row_pitch; - api_data.args.hsa_ext_image_import.image_region = image_region; api_data.args.hsa_ext_image_import.agent = agent; - api_data.args.hsa_ext_image_import.src_slice_pitch = src_slice_pitch; api_data.args.hsa_ext_image_import.src_memory = src_memory; + api_data.args.hsa_ext_image_import.src_row_pitch = src_row_pitch; + api_data.args.hsa_ext_image_import.src_slice_pitch = src_slice_pitch; api_data.args.hsa_ext_image_import.dst_image = dst_image; + api_data.args.hsa_ext_image_import.image_region = image_region; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_import, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_import, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_import_fn(agent, src_memory, src_row_pitch, src_slice_pitch, dst_image, image_region); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_import, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_export_callback(hsa_agent_t agent, hsa_ext_image_t src_image, void* dst_memory, size_t dst_row_pitch, size_t dst_slice_pitch, const hsa_ext_image_region_t* image_region) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_export.dst_slice_pitch = dst_slice_pitch; - api_data.args.hsa_ext_image_export.image_region = image_region; api_data.args.hsa_ext_image_export.agent = agent; - api_data.args.hsa_ext_image_export.dst_row_pitch = dst_row_pitch; api_data.args.hsa_ext_image_export.src_image = src_image; api_data.args.hsa_ext_image_export.dst_memory = dst_memory; + api_data.args.hsa_ext_image_export.dst_row_pitch = dst_row_pitch; + api_data.args.hsa_ext_image_export.dst_slice_pitch = dst_slice_pitch; + api_data.args.hsa_ext_image_export.image_region = image_region; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_export, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_export, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_export_fn(agent, src_image, dst_memory, dst_row_pitch, dst_slice_pitch, image_region); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_export, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_copy_callback(hsa_agent_t agent, hsa_ext_image_t src_image, const hsa_dim3_t* src_offset, hsa_ext_image_t dst_image, const hsa_dim3_t* dst_offset, const hsa_dim3_t* range) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_copy.src_offset = src_offset; - api_data.args.hsa_ext_image_copy.dst_offset = dst_offset; api_data.args.hsa_ext_image_copy.agent = agent; - api_data.args.hsa_ext_image_copy.range = range; api_data.args.hsa_ext_image_copy.src_image = src_image; + api_data.args.hsa_ext_image_copy.src_offset = src_offset; api_data.args.hsa_ext_image_copy.dst_image = dst_image; + api_data.args.hsa_ext_image_copy.dst_offset = dst_offset; + api_data.args.hsa_ext_image_copy.range = range; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_copy, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_copy, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_copy_fn(agent, src_image, src_offset, dst_image, dst_offset, range); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_copy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_clear_callback(hsa_agent_t agent, hsa_ext_image_t image, const void* data, const hsa_ext_image_region_t* image_region) { hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_clear.agent = agent; api_data.args.hsa_ext_image_clear.image = image; api_data.args.hsa_ext_image_clear.data = data; api_data.args.hsa_ext_image_clear.image_region = image_region; - api_data.args.hsa_ext_image_clear.agent = agent; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_clear, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_clear, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_clear_fn(agent, image, data, image_region); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_clear, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_destroy_callback(hsa_agent_t agent, hsa_ext_image_t image) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_destroy.image = image; api_data.args.hsa_ext_image_destroy.agent = agent; + api_data.args.hsa_ext_image_destroy.image = image; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_destroy, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_destroy, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_destroy_fn(agent, image); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_destroy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_sampler_create_callback(hsa_agent_t agent, const hsa_ext_sampler_descriptor_t* sampler_descriptor, hsa_ext_sampler_t* sampler) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_sampler_create.sampler_descriptor = sampler_descriptor; api_data.args.hsa_ext_sampler_create.agent = agent; + api_data.args.hsa_ext_sampler_create.sampler_descriptor = sampler_descriptor; api_data.args.hsa_ext_sampler_create.sampler = sampler; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3739,6 +3890,7 @@ static hsa_status_t hsa_ext_sampler_create_callback(hsa_agent_t agent, const hsa api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_create, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_sampler_create_fn(agent, sampler_descriptor, sampler); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_create, &api_data, api_callback_arg); return ret; @@ -3753,34 +3905,36 @@ static hsa_status_t hsa_ext_sampler_destroy_callback(hsa_agent_t agent, hsa_ext_ api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_destroy, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_sampler_destroy_fn(agent, sampler); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_sampler_destroy, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_get_capability_with_layout_callback(hsa_agent_t agent, hsa_ext_image_geometry_t geometry, const hsa_ext_image_format_t* image_format, hsa_ext_image_data_layout_t image_data_layout, uint32_t* capability_mask) { hsa_api_data_t api_data{}; - api_data.args.hsa_ext_image_get_capability_with_layout.geometry = geometry; - api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout = image_data_layout; - api_data.args.hsa_ext_image_get_capability_with_layout.image_format = image_format; - api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask = capability_mask; api_data.args.hsa_ext_image_get_capability_with_layout.agent = agent; + api_data.args.hsa_ext_image_get_capability_with_layout.geometry = geometry; + api_data.args.hsa_ext_image_get_capability_with_layout.image_format = image_format; + api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout = image_data_layout; + api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask = capability_mask; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; cb_table.get(HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_callback_fun, &api_callback_arg); api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_get_capability_with_layout_fn(agent, geometry, image_format, image_data_layout, capability_mask); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_get_capability_with_layout, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_data_get_info_with_layout_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, hsa_access_permission_t access_permission, hsa_ext_image_data_layout_t image_data_layout, size_t image_data_row_pitch, size_t image_data_slice_pitch, hsa_ext_image_data_info_t* image_data_info) { hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_data_get_info_with_layout.agent = agent; api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission = access_permission; api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout = image_data_layout; api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch = image_data_row_pitch; - api_data.args.hsa_ext_image_data_get_info_with_layout.agent = agent; - api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission = access_permission; api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch = image_data_slice_pitch; api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info = image_data_info; activity_rtapi_callback_t api_callback_fun = NULL; @@ -3789,19 +3943,20 @@ static hsa_status_t hsa_ext_image_data_get_info_with_layout_callback(hsa_agent_t api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_data_get_info_with_layout_fn(agent, image_descriptor, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image_data_info); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_data_get_info_with_layout, &api_data, api_callback_arg); return ret; } static hsa_status_t hsa_ext_image_create_with_layout_callback(hsa_agent_t agent, const hsa_ext_image_descriptor_t* image_descriptor, const void* image_data, hsa_access_permission_t access_permission, hsa_ext_image_data_layout_t image_data_layout, size_t image_data_row_pitch, size_t image_data_slice_pitch, hsa_ext_image_t* image) { hsa_api_data_t api_data{}; + api_data.args.hsa_ext_image_create_with_layout.agent = agent; api_data.args.hsa_ext_image_create_with_layout.image_descriptor = image_descriptor; + api_data.args.hsa_ext_image_create_with_layout.image_data = image_data; + api_data.args.hsa_ext_image_create_with_layout.access_permission = access_permission; api_data.args.hsa_ext_image_create_with_layout.image_data_layout = image_data_layout; api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch = image_data_row_pitch; - api_data.args.hsa_ext_image_create_with_layout.agent = agent; api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch = image_data_slice_pitch; - api_data.args.hsa_ext_image_create_with_layout.access_permission = access_permission; - api_data.args.hsa_ext_image_create_with_layout.image_data = image_data; api_data.args.hsa_ext_image_create_with_layout.image = image; activity_rtapi_callback_t api_callback_fun = NULL; void* api_callback_arg = NULL; @@ -3809,6 +3964,7 @@ static hsa_status_t hsa_ext_image_create_with_layout_callback(hsa_agent_t agent, api_data.phase = 0; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create_with_layout, &api_data, api_callback_arg); hsa_status_t ret = ImageExtTable_saved.hsa_ext_image_create_with_layout_fn(agent, image_descriptor, image_data, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image); + api_data.hsa_status_t_retval = ret; api_data.phase = 1; if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, HSA_API_ID_hsa_ext_image_create_with_layout, &api_data, api_callback_arg); return ret; @@ -4196,11 +4352,2014 @@ static const char* GetApiName(const uint32_t& id) { case HSA_API_ID_hsa_ext_image_get_capability_with_layout: return "hsa_ext_image_get_capability_with_layout"; case HSA_API_ID_hsa_ext_image_data_get_info_with_layout: return "hsa_ext_image_data_get_info_with_layout"; case HSA_API_ID_hsa_ext_image_create_with_layout: return "hsa_ext_image_create_with_layout"; - }; + } return "unknown"; -}; +} };}; #endif // PROF_API_IMPL +// section: API output stream + +typedef std::pair hsa_api_data_pair_t; +inline std::ostream& operator<< (std::ostream& out, const hsa_api_data_pair_t& data_pair) { + const uint32_t cid = data_pair.first; + const hsa_api_data_t& api_data = data_pair.second; + switch(cid) { + // block: CoreApiTable API + case HSA_API_ID_hsa_init: { + out << "hsa_init("; + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_shut_down: { + out << "hsa_shut_down("; + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_get_info: { + out << "hsa_system_get_info("; + typedef decltype(api_data.args.hsa_system_get_info.attribute) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_system_get_info.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_extension_supported: { + out << "hsa_system_extension_supported("; + typedef decltype(api_data.args.hsa_system_extension_supported.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.extension) << ", "; + typedef decltype(api_data.args.hsa_system_extension_supported.version_major) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.version_major) << ", "; + typedef decltype(api_data.args.hsa_system_extension_supported.version_minor) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.version_minor) << ", "; + typedef decltype(api_data.args.hsa_system_extension_supported.result) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_extension_supported.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_get_extension_table: { + out << "hsa_system_get_extension_table("; + typedef decltype(api_data.args.hsa_system_get_extension_table.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.extension) << ", "; + typedef decltype(api_data.args.hsa_system_get_extension_table.version_major) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.version_major) << ", "; + typedef decltype(api_data.args.hsa_system_get_extension_table.version_minor) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.version_minor) << ", "; + typedef decltype(api_data.args.hsa_system_get_extension_table.table) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_extension_table.table); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_iterate_agents: { + out << "hsa_iterate_agents("; + typedef decltype(api_data.args.hsa_iterate_agents.callback) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_iterate_agents.callback) << ", "; + typedef decltype(api_data.args.hsa_iterate_agents.data) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_iterate_agents.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_get_info: { + out << "hsa_agent_get_info("; + typedef decltype(api_data.args.hsa_agent_get_info.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_info.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_agent_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_queue_create: { + out << "hsa_queue_create("; + typedef decltype(api_data.args.hsa_queue_create.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.agent) << ", "; + typedef decltype(api_data.args.hsa_queue_create.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.size) << ", "; + typedef decltype(api_data.args.hsa_queue_create.type) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.type) << ", "; + typedef decltype(api_data.args.hsa_queue_create.callback) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.callback) << ", "; + typedef decltype(api_data.args.hsa_queue_create.data) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.data) << ", "; + typedef decltype(api_data.args.hsa_queue_create.private_segment_size) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.private_segment_size) << ", "; + typedef decltype(api_data.args.hsa_queue_create.group_segment_size) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.group_segment_size) << ", "; + typedef decltype(api_data.args.hsa_queue_create.queue) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_create.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_soft_queue_create: { + out << "hsa_soft_queue_create("; + typedef decltype(api_data.args.hsa_soft_queue_create.region) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.region) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.size) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.type) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.type) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.features) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.features) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.doorbell_signal) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.doorbell_signal) << ", "; + typedef decltype(api_data.args.hsa_soft_queue_create.queue) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_soft_queue_create.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_queue_destroy: { + out << "hsa_queue_destroy("; + typedef decltype(api_data.args.hsa_queue_destroy.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_destroy.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_queue_inactivate: { + out << "hsa_queue_inactivate("; + typedef decltype(api_data.args.hsa_queue_inactivate.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_inactivate.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_queue_load_read_index_scacquire: { + out << "hsa_queue_load_read_index_scacquire("; + typedef decltype(api_data.args.hsa_queue_load_read_index_scacquire.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_read_index_scacquire.queue); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_load_read_index_relaxed: { + out << "hsa_queue_load_read_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_load_read_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_read_index_relaxed.queue); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_load_write_index_scacquire: { + out << "hsa_queue_load_write_index_scacquire("; + typedef decltype(api_data.args.hsa_queue_load_write_index_scacquire.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_write_index_scacquire.queue); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_load_write_index_relaxed: { + out << "hsa_queue_load_write_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_load_write_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_load_write_index_relaxed.queue); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_store_write_index_relaxed: { + out << "hsa_queue_store_write_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_store_write_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_relaxed.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_store_write_index_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_queue_store_write_index_screlease: { + out << "hsa_queue_store_write_index_screlease("; + typedef decltype(api_data.args.hsa_queue_store_write_index_screlease.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_screlease.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_store_write_index_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_write_index_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_queue_cas_write_index_scacq_screl: { + out << "hsa_queue_cas_write_index_scacq_screl("; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacq_screl.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacq_screl.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacq_screl.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacq_screl.expected) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacq_screl.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacq_screl.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_cas_write_index_scacquire: { + out << "hsa_queue_cas_write_index_scacquire("; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacquire.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacquire.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacquire.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacquire.expected) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_scacquire.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_scacquire.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_cas_write_index_relaxed: { + out << "hsa_queue_cas_write_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_cas_write_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_relaxed.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_relaxed.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_relaxed.expected) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_relaxed.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_relaxed.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_cas_write_index_screlease: { + out << "hsa_queue_cas_write_index_screlease("; + typedef decltype(api_data.args.hsa_queue_cas_write_index_screlease.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_screlease.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_screlease.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_screlease.expected) << ", "; + typedef decltype(api_data.args.hsa_queue_cas_write_index_screlease.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_cas_write_index_screlease.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_add_write_index_scacq_screl: { + out << "hsa_queue_add_write_index_scacq_screl("; + typedef decltype(api_data.args.hsa_queue_add_write_index_scacq_screl.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacq_screl.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_add_write_index_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacq_screl.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_add_write_index_scacquire: { + out << "hsa_queue_add_write_index_scacquire("; + typedef decltype(api_data.args.hsa_queue_add_write_index_scacquire.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacquire.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_add_write_index_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_scacquire.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_add_write_index_relaxed: { + out << "hsa_queue_add_write_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_add_write_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_relaxed.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_add_write_index_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_relaxed.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_add_write_index_screlease: { + out << "hsa_queue_add_write_index_screlease("; + typedef decltype(api_data.args.hsa_queue_add_write_index_screlease.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_screlease.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_add_write_index_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_add_write_index_screlease.value); + out << ") = " << api_data.uint64_t_retval; + break; + } + case HSA_API_ID_hsa_queue_store_read_index_relaxed: { + out << "hsa_queue_store_read_index_relaxed("; + typedef decltype(api_data.args.hsa_queue_store_read_index_relaxed.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_relaxed.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_store_read_index_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_queue_store_read_index_screlease: { + out << "hsa_queue_store_read_index_screlease("; + typedef decltype(api_data.args.hsa_queue_store_read_index_screlease.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_screlease.queue) << ", "; + typedef decltype(api_data.args.hsa_queue_store_read_index_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_queue_store_read_index_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_agent_iterate_regions: { + out << "hsa_agent_iterate_regions("; + typedef decltype(api_data.args.hsa_agent_iterate_regions.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_regions.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_regions.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_regions.callback) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_regions.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_regions.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_region_get_info: { + out << "hsa_region_get_info("; + typedef decltype(api_data.args.hsa_region_get_info.region) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_region_get_info.region) << ", "; + typedef decltype(api_data.args.hsa_region_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_region_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_region_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_region_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_get_exception_policies: { + out << "hsa_agent_get_exception_policies("; + typedef decltype(api_data.args.hsa_agent_get_exception_policies.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_exception_policies.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_get_exception_policies.profile) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_exception_policies.profile) << ", "; + typedef decltype(api_data.args.hsa_agent_get_exception_policies.mask) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_get_exception_policies.mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_extension_supported: { + out << "hsa_agent_extension_supported("; + typedef decltype(api_data.args.hsa_agent_extension_supported.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.extension) << ", "; + typedef decltype(api_data.args.hsa_agent_extension_supported.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_extension_supported.version_major) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.version_major) << ", "; + typedef decltype(api_data.args.hsa_agent_extension_supported.version_minor) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.version_minor) << ", "; + typedef decltype(api_data.args.hsa_agent_extension_supported.result) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_extension_supported.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_register: { + out << "hsa_memory_register("; + typedef decltype(api_data.args.hsa_memory_register.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_register.ptr) << ", "; + typedef decltype(api_data.args.hsa_memory_register.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_register.size); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_deregister: { + out << "hsa_memory_deregister("; + typedef decltype(api_data.args.hsa_memory_deregister.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_deregister.ptr) << ", "; + typedef decltype(api_data.args.hsa_memory_deregister.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_deregister.size); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_allocate: { + out << "hsa_memory_allocate("; + typedef decltype(api_data.args.hsa_memory_allocate.region) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_allocate.region) << ", "; + typedef decltype(api_data.args.hsa_memory_allocate.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_allocate.size) << ", "; + typedef decltype(api_data.args.hsa_memory_allocate.ptr) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_allocate.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_free: { + out << "hsa_memory_free("; + typedef decltype(api_data.args.hsa_memory_free.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_free.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_copy: { + out << "hsa_memory_copy("; + typedef decltype(api_data.args.hsa_memory_copy.dst) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_copy.dst) << ", "; + typedef decltype(api_data.args.hsa_memory_copy.src) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_copy.src) << ", "; + typedef decltype(api_data.args.hsa_memory_copy.size) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_copy.size); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_memory_assign_agent: { + out << "hsa_memory_assign_agent("; + typedef decltype(api_data.args.hsa_memory_assign_agent.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_assign_agent.ptr) << ", "; + typedef decltype(api_data.args.hsa_memory_assign_agent.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_assign_agent.agent) << ", "; + typedef decltype(api_data.args.hsa_memory_assign_agent.access) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_memory_assign_agent.access); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_create: { + out << "hsa_signal_create("; + typedef decltype(api_data.args.hsa_signal_create.initial_value) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.initial_value) << ", "; + typedef decltype(api_data.args.hsa_signal_create.num_consumers) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.num_consumers) << ", "; + typedef decltype(api_data.args.hsa_signal_create.consumers) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.consumers) << ", "; + typedef decltype(api_data.args.hsa_signal_create.signal) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_create.signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_destroy: { + out << "hsa_signal_destroy("; + typedef decltype(api_data.args.hsa_signal_destroy.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_destroy.signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_load_relaxed: { + out << "hsa_signal_load_relaxed("; + typedef decltype(api_data.args.hsa_signal_load_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_load_relaxed.signal); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_load_scacquire: { + out << "hsa_signal_load_scacquire("; + typedef decltype(api_data.args.hsa_signal_load_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_load_scacquire.signal); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_store_relaxed: { + out << "hsa_signal_store_relaxed("; + typedef decltype(api_data.args.hsa_signal_store_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_store_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_store_screlease: { + out << "hsa_signal_store_screlease("; + typedef decltype(api_data.args.hsa_signal_store_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_store_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_store_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_wait_relaxed: { + out << "hsa_signal_wait_relaxed("; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.condition) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.condition) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.compare_value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.compare_value) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.timeout_hint) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.timeout_hint) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_relaxed.wait_state_hint) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_relaxed.wait_state_hint); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_wait_scacquire: { + out << "hsa_signal_wait_scacquire("; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.condition) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.condition) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.compare_value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.compare_value) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.timeout_hint) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.timeout_hint) << ", "; + typedef decltype(api_data.args.hsa_signal_wait_scacquire.wait_state_hint) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_wait_scacquire.wait_state_hint); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_and_relaxed: { + out << "hsa_signal_and_relaxed("; + typedef decltype(api_data.args.hsa_signal_and_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_and_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_and_scacquire: { + out << "hsa_signal_and_scacquire("; + typedef decltype(api_data.args.hsa_signal_and_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_and_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_and_screlease: { + out << "hsa_signal_and_screlease("; + typedef decltype(api_data.args.hsa_signal_and_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_and_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_and_scacq_screl: { + out << "hsa_signal_and_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_and_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_and_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_and_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_or_relaxed: { + out << "hsa_signal_or_relaxed("; + typedef decltype(api_data.args.hsa_signal_or_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_or_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_or_scacquire: { + out << "hsa_signal_or_scacquire("; + typedef decltype(api_data.args.hsa_signal_or_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_or_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_or_screlease: { + out << "hsa_signal_or_screlease("; + typedef decltype(api_data.args.hsa_signal_or_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_or_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_or_scacq_screl: { + out << "hsa_signal_or_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_or_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_or_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_or_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_xor_relaxed: { + out << "hsa_signal_xor_relaxed("; + typedef decltype(api_data.args.hsa_signal_xor_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_xor_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_xor_scacquire: { + out << "hsa_signal_xor_scacquire("; + typedef decltype(api_data.args.hsa_signal_xor_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_xor_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_xor_screlease: { + out << "hsa_signal_xor_screlease("; + typedef decltype(api_data.args.hsa_signal_xor_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_xor_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_xor_scacq_screl: { + out << "hsa_signal_xor_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_xor_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_xor_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_xor_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_exchange_relaxed: { + out << "hsa_signal_exchange_relaxed("; + typedef decltype(api_data.args.hsa_signal_exchange_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_exchange_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_relaxed.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_exchange_scacquire: { + out << "hsa_signal_exchange_scacquire("; + typedef decltype(api_data.args.hsa_signal_exchange_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_exchange_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacquire.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_exchange_screlease: { + out << "hsa_signal_exchange_screlease("; + typedef decltype(api_data.args.hsa_signal_exchange_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_exchange_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_screlease.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_exchange_scacq_screl: { + out << "hsa_signal_exchange_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_exchange_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_exchange_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_exchange_scacq_screl.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_add_relaxed: { + out << "hsa_signal_add_relaxed("; + typedef decltype(api_data.args.hsa_signal_add_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_add_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_add_scacquire: { + out << "hsa_signal_add_scacquire("; + typedef decltype(api_data.args.hsa_signal_add_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_add_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_add_screlease: { + out << "hsa_signal_add_screlease("; + typedef decltype(api_data.args.hsa_signal_add_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_add_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_add_scacq_screl: { + out << "hsa_signal_add_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_add_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_add_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_add_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_subtract_relaxed: { + out << "hsa_signal_subtract_relaxed("; + typedef decltype(api_data.args.hsa_signal_subtract_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_subtract_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_subtract_scacquire: { + out << "hsa_signal_subtract_scacquire("; + typedef decltype(api_data.args.hsa_signal_subtract_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_subtract_scacquire.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacquire.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_subtract_screlease: { + out << "hsa_signal_subtract_screlease("; + typedef decltype(api_data.args.hsa_signal_subtract_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_subtract_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_subtract_scacq_screl: { + out << "hsa_signal_subtract_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_subtract_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_subtract_scacq_screl.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_subtract_scacq_screl.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_cas_relaxed: { + out << "hsa_signal_cas_relaxed("; + typedef decltype(api_data.args.hsa_signal_cas_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_relaxed.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_relaxed.expected) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_relaxed.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_relaxed.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_cas_scacquire: { + out << "hsa_signal_cas_scacquire("; + typedef decltype(api_data.args.hsa_signal_cas_scacquire.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_scacquire.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacquire.expected) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_scacquire.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacquire.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_cas_screlease: { + out << "hsa_signal_cas_screlease("; + typedef decltype(api_data.args.hsa_signal_cas_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_screlease.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_screlease.expected) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_screlease.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_screlease.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_signal_cas_scacq_screl: { + out << "hsa_signal_cas_scacq_screl("; + typedef decltype(api_data.args.hsa_signal_cas_scacq_screl.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacq_screl.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_scacq_screl.expected) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacq_screl.expected) << ", "; + typedef decltype(api_data.args.hsa_signal_cas_scacq_screl.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_cas_scacq_screl.value); + out << ") = " << api_data.hsa_signal_value_t_retval; + break; + } + case HSA_API_ID_hsa_isa_from_name: { + out << "hsa_isa_from_name("; + typedef decltype(api_data.args.hsa_isa_from_name.name) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_from_name.name) << ", "; + typedef decltype(api_data.args.hsa_isa_from_name.isa) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_from_name.isa); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_get_info: { + out << "hsa_isa_get_info("; + typedef decltype(api_data.args.hsa_isa_get_info.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info.index) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.index) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info.value) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_compatible: { + out << "hsa_isa_compatible("; + typedef decltype(api_data.args.hsa_isa_compatible.code_object_isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_compatible.code_object_isa) << ", "; + typedef decltype(api_data.args.hsa_isa_compatible.agent_isa) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_compatible.agent_isa) << ", "; + typedef decltype(api_data.args.hsa_isa_compatible.result) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_compatible.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_serialize: { + out << "hsa_code_object_serialize("; + typedef decltype(api_data.args.hsa_code_object_serialize.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.alloc_callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.alloc_callback) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.callback_data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.callback_data) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.options) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.options) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.serialized_code_object) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.serialized_code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_serialize.serialized_code_object_size) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_serialize.serialized_code_object_size); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_deserialize: { + out << "hsa_code_object_deserialize("; + typedef decltype(api_data.args.hsa_code_object_deserialize.serialized_code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.serialized_code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_deserialize.serialized_code_object_size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.serialized_code_object_size) << ", "; + typedef decltype(api_data.args.hsa_code_object_deserialize.options) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.options) << ", "; + typedef decltype(api_data.args.hsa_code_object_deserialize.code_object) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_deserialize.code_object); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_destroy: { + out << "hsa_code_object_destroy("; + typedef decltype(api_data.args.hsa_code_object_destroy.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_destroy.code_object); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_get_info: { + out << "hsa_code_object_get_info("; + typedef decltype(api_data.args.hsa_code_object_get_info.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_info.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_get_symbol: { + out << "hsa_code_object_get_symbol("; + typedef decltype(api_data.args.hsa_code_object_get_symbol.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol.symbol_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol.symbol_name) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol.symbol) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol.symbol); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_symbol_get_info: { + out << "hsa_code_symbol_get_info("; + typedef decltype(api_data.args.hsa_code_symbol_get_info.code_symbol) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_symbol_get_info.code_symbol) << ", "; + typedef decltype(api_data.args.hsa_code_symbol_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_symbol_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_code_symbol_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_symbol_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_iterate_symbols: { + out << "hsa_code_object_iterate_symbols("; + typedef decltype(api_data.args.hsa_code_object_iterate_symbols.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_iterate_symbols.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_iterate_symbols.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_iterate_symbols.callback) << ", "; + typedef decltype(api_data.args.hsa_code_object_iterate_symbols.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_iterate_symbols.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_create: { + out << "hsa_executable_create("; + typedef decltype(api_data.args.hsa_executable_create.profile) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.profile) << ", "; + typedef decltype(api_data.args.hsa_executable_create.executable_state) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.executable_state) << ", "; + typedef decltype(api_data.args.hsa_executable_create.options) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.options) << ", "; + typedef decltype(api_data.args.hsa_executable_create.executable) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create.executable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_destroy: { + out << "hsa_executable_destroy("; + typedef decltype(api_data.args.hsa_executable_destroy.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_destroy.executable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_load_code_object: { + out << "hsa_executable_load_code_object("; + typedef decltype(api_data.args.hsa_executable_load_code_object.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_load_code_object.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_load_code_object.code_object) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.code_object) << ", "; + typedef decltype(api_data.args.hsa_executable_load_code_object.options) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_code_object.options); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_freeze: { + out << "hsa_executable_freeze("; + typedef decltype(api_data.args.hsa_executable_freeze.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_freeze.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_freeze.options) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_freeze.options); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_get_info: { + out << "hsa_executable_get_info("; + typedef decltype(api_data.args.hsa_executable_get_info.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_info.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_executable_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_global_variable_define: { + out << "hsa_executable_global_variable_define("; + typedef decltype(api_data.args.hsa_executable_global_variable_define.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_global_variable_define.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_global_variable_define.variable_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_global_variable_define.variable_name) << ", "; + typedef decltype(api_data.args.hsa_executable_global_variable_define.address) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_global_variable_define.address); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_agent_global_variable_define: { + out << "hsa_executable_agent_global_variable_define("; + typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.variable_name) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.variable_name) << ", "; + typedef decltype(api_data.args.hsa_executable_agent_global_variable_define.address) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_agent_global_variable_define.address); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_readonly_variable_define: { + out << "hsa_executable_readonly_variable_define("; + typedef decltype(api_data.args.hsa_executable_readonly_variable_define.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_readonly_variable_define.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_readonly_variable_define.variable_name) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.variable_name) << ", "; + typedef decltype(api_data.args.hsa_executable_readonly_variable_define.address) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_readonly_variable_define.address); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_validate: { + out << "hsa_executable_validate("; + typedef decltype(api_data.args.hsa_executable_validate.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_validate.result) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_get_symbol: { + out << "hsa_executable_get_symbol("; + typedef decltype(api_data.args.hsa_executable_get_symbol.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.module_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.module_name) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.symbol_name) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.symbol_name) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.agent) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.call_convention) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.call_convention) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol.symbol) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol.symbol); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_symbol_get_info: { + out << "hsa_executable_symbol_get_info("; + typedef decltype(api_data.args.hsa_executable_symbol_get_info.executable_symbol) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_symbol_get_info.executable_symbol) << ", "; + typedef decltype(api_data.args.hsa_executable_symbol_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_symbol_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_executable_symbol_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_symbol_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_iterate_symbols: { + out << "hsa_executable_iterate_symbols("; + typedef decltype(api_data.args.hsa_executable_iterate_symbols.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_symbols.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_symbols.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_symbols.callback) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_symbols.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_symbols.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_status_string: { + out << "hsa_status_string("; + typedef decltype(api_data.args.hsa_status_string.status) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_status_string.status) << ", "; + typedef decltype(api_data.args.hsa_status_string.status_string) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_status_string.status_string); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_extension_get_name: { + out << "hsa_extension_get_name("; + typedef decltype(api_data.args.hsa_extension_get_name.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_extension_get_name.extension) << ", "; + typedef decltype(api_data.args.hsa_extension_get_name.name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_extension_get_name.name); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_major_extension_supported: { + out << "hsa_system_major_extension_supported("; + typedef decltype(api_data.args.hsa_system_major_extension_supported.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.extension) << ", "; + typedef decltype(api_data.args.hsa_system_major_extension_supported.version_major) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.version_major) << ", "; + typedef decltype(api_data.args.hsa_system_major_extension_supported.version_minor) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.version_minor) << ", "; + typedef decltype(api_data.args.hsa_system_major_extension_supported.result) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_major_extension_supported.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_system_get_major_extension_table: { + out << "hsa_system_get_major_extension_table("; + typedef decltype(api_data.args.hsa_system_get_major_extension_table.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.extension) << ", "; + typedef decltype(api_data.args.hsa_system_get_major_extension_table.version_major) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.version_major) << ", "; + typedef decltype(api_data.args.hsa_system_get_major_extension_table.table_length) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.table_length) << ", "; + typedef decltype(api_data.args.hsa_system_get_major_extension_table.table) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_system_get_major_extension_table.table); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_major_extension_supported: { + out << "hsa_agent_major_extension_supported("; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.extension) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.extension) << ", "; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.version_major) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.version_major) << ", "; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.version_minor) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.version_minor) << ", "; + typedef decltype(api_data.args.hsa_agent_major_extension_supported.result) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_major_extension_supported.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_cache_get_info: { + out << "hsa_cache_get_info("; + typedef decltype(api_data.args.hsa_cache_get_info.cache) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_cache_get_info.cache) << ", "; + typedef decltype(api_data.args.hsa_cache_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_cache_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_cache_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_cache_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_iterate_caches: { + out << "hsa_agent_iterate_caches("; + typedef decltype(api_data.args.hsa_agent_iterate_caches.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_caches.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_caches.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_caches.callback) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_caches.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_caches.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_silent_store_relaxed: { + out << "hsa_signal_silent_store_relaxed("; + typedef decltype(api_data.args.hsa_signal_silent_store_relaxed.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_silent_store_relaxed.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_relaxed.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_silent_store_screlease: { + out << "hsa_signal_silent_store_screlease("; + typedef decltype(api_data.args.hsa_signal_silent_store_screlease.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_screlease.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_silent_store_screlease.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_silent_store_screlease.value); + out << ") = void"; + break; + } + case HSA_API_ID_hsa_signal_group_create: { + out << "hsa_signal_group_create("; + typedef decltype(api_data.args.hsa_signal_group_create.num_signals) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.num_signals) << ", "; + typedef decltype(api_data.args.hsa_signal_group_create.signals) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.signals) << ", "; + typedef decltype(api_data.args.hsa_signal_group_create.num_consumers) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.num_consumers) << ", "; + typedef decltype(api_data.args.hsa_signal_group_create.consumers) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.consumers) << ", "; + typedef decltype(api_data.args.hsa_signal_group_create.signal_group) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_create.signal_group); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_group_destroy: { + out << "hsa_signal_group_destroy("; + typedef decltype(api_data.args.hsa_signal_group_destroy.signal_group) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_destroy.signal_group); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_group_wait_any_scacquire: { + out << "hsa_signal_group_wait_any_scacquire("; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.signal_group) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.signal_group) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.conditions) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.conditions) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.compare_values) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.compare_values) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.wait_state_hint) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.signal) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_scacquire.value) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_scacquire.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_signal_group_wait_any_relaxed: { + out << "hsa_signal_group_wait_any_relaxed("; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.signal_group) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.signal_group) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.conditions) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.conditions) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.compare_values) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.compare_values) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.wait_state_hint) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.signal) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.signal) << ", "; + typedef decltype(api_data.args.hsa_signal_group_wait_any_relaxed.value) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_signal_group_wait_any_relaxed.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_agent_iterate_isas: { + out << "hsa_agent_iterate_isas("; + typedef decltype(api_data.args.hsa_agent_iterate_isas.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_isas.agent) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_isas.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_isas.callback) << ", "; + typedef decltype(api_data.args.hsa_agent_iterate_isas.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_agent_iterate_isas.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_get_info_alt: { + out << "hsa_isa_get_info_alt("; + typedef decltype(api_data.args.hsa_isa_get_info_alt.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info_alt.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info_alt.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info_alt.attribute) << ", "; + typedef decltype(api_data.args.hsa_isa_get_info_alt.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_info_alt.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_get_exception_policies: { + out << "hsa_isa_get_exception_policies("; + typedef decltype(api_data.args.hsa_isa_get_exception_policies.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_exception_policies.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_get_exception_policies.profile) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_exception_policies.profile) << ", "; + typedef decltype(api_data.args.hsa_isa_get_exception_policies.mask) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_exception_policies.mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_get_round_method: { + out << "hsa_isa_get_round_method("; + typedef decltype(api_data.args.hsa_isa_get_round_method.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_get_round_method.fp_type) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.fp_type) << ", "; + typedef decltype(api_data.args.hsa_isa_get_round_method.flush_mode) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.flush_mode) << ", "; + typedef decltype(api_data.args.hsa_isa_get_round_method.round_method) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_get_round_method.round_method); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_wavefront_get_info: { + out << "hsa_wavefront_get_info("; + typedef decltype(api_data.args.hsa_wavefront_get_info.wavefront) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_wavefront_get_info.wavefront) << ", "; + typedef decltype(api_data.args.hsa_wavefront_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_wavefront_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_wavefront_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_wavefront_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_isa_iterate_wavefronts: { + out << "hsa_isa_iterate_wavefronts("; + typedef decltype(api_data.args.hsa_isa_iterate_wavefronts.isa) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_iterate_wavefronts.isa) << ", "; + typedef decltype(api_data.args.hsa_isa_iterate_wavefronts.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_iterate_wavefronts.callback) << ", "; + typedef decltype(api_data.args.hsa_isa_iterate_wavefronts.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_isa_iterate_wavefronts.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_get_symbol_from_name: { + out << "hsa_code_object_get_symbol_from_name("; + typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.module_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.module_name) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.symbol_name) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.symbol_name) << ", "; + typedef decltype(api_data.args.hsa_code_object_get_symbol_from_name.symbol) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_get_symbol_from_name.symbol); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_reader_create_from_file: { + out << "hsa_code_object_reader_create_from_file("; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_file.file) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_file.file) << ", "; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_file.code_object_reader) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_file.code_object_reader); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_reader_create_from_memory: { + out << "hsa_code_object_reader_create_from_memory("; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_memory.code_object) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_memory.code_object) << ", "; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_memory.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_memory.size) << ", "; + typedef decltype(api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_create_from_memory.code_object_reader); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_code_object_reader_destroy: { + out << "hsa_code_object_reader_destroy("; + typedef decltype(api_data.args.hsa_code_object_reader_destroy.code_object_reader) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_code_object_reader_destroy.code_object_reader); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_create_alt: { + out << "hsa_executable_create_alt("; + typedef decltype(api_data.args.hsa_executable_create_alt.profile) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.profile) << ", "; + typedef decltype(api_data.args.hsa_executable_create_alt.default_float_rounding_mode) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.default_float_rounding_mode) << ", "; + typedef decltype(api_data.args.hsa_executable_create_alt.options) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.options) << ", "; + typedef decltype(api_data.args.hsa_executable_create_alt.executable) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_create_alt.executable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_load_program_code_object: { + out << "hsa_executable_load_program_code_object("; + typedef decltype(api_data.args.hsa_executable_load_program_code_object.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_load_program_code_object.code_object_reader) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.code_object_reader) << ", "; + typedef decltype(api_data.args.hsa_executable_load_program_code_object.options) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.options) << ", "; + typedef decltype(api_data.args.hsa_executable_load_program_code_object.loaded_code_object) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_program_code_object.loaded_code_object); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_load_agent_code_object: { + out << "hsa_executable_load_agent_code_object("; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.code_object_reader) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.code_object_reader) << ", "; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.options) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.options) << ", "; + typedef decltype(api_data.args.hsa_executable_load_agent_code_object.loaded_code_object) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_load_agent_code_object.loaded_code_object); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_validate_alt: { + out << "hsa_executable_validate_alt("; + typedef decltype(api_data.args.hsa_executable_validate_alt.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate_alt.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_validate_alt.options) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate_alt.options) << ", "; + typedef decltype(api_data.args.hsa_executable_validate_alt.result) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_validate_alt.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_get_symbol_by_name: { + out << "hsa_executable_get_symbol_by_name("; + typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.symbol_name) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.symbol_name) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.agent) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_get_symbol_by_name.symbol) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_get_symbol_by_name.symbol); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_iterate_agent_symbols: { + out << "hsa_executable_iterate_agent_symbols("; + typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.agent) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.callback) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.callback) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_agent_symbols.data) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_agent_symbols.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_executable_iterate_program_symbols: { + out << "hsa_executable_iterate_program_symbols("; + typedef decltype(api_data.args.hsa_executable_iterate_program_symbols.executable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_program_symbols.executable) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_program_symbols.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_program_symbols.callback) << ", "; + typedef decltype(api_data.args.hsa_executable_iterate_program_symbols.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_executable_iterate_program_symbols.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + + // block: AmdExtTable API + case HSA_API_ID_hsa_amd_coherency_get_type: { + out << "hsa_amd_coherency_get_type("; + typedef decltype(api_data.args.hsa_amd_coherency_get_type.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_get_type.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_coherency_get_type.type) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_get_type.type); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_coherency_set_type: { + out << "hsa_amd_coherency_set_type("; + typedef decltype(api_data.args.hsa_amd_coherency_set_type.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_set_type.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_coherency_set_type.type) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_coherency_set_type.type); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_set_profiler_enabled: { + out << "hsa_amd_profiling_set_profiler_enabled("; + typedef decltype(api_data.args.hsa_amd_profiling_set_profiler_enabled.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_set_profiler_enabled.queue) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_set_profiler_enabled.enable) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_set_profiler_enabled.enable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_async_copy_enable: { + out << "hsa_amd_profiling_async_copy_enable("; + typedef decltype(api_data.args.hsa_amd_profiling_async_copy_enable.enable) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_async_copy_enable.enable); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_get_dispatch_time: { + out << "hsa_amd_profiling_get_dispatch_time("; + typedef decltype(api_data.args.hsa_amd_profiling_get_dispatch_time.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_dispatch_time.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_get_dispatch_time.signal) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_dispatch_time.signal) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_get_dispatch_time.time) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_dispatch_time.time); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_get_async_copy_time: { + out << "hsa_amd_profiling_get_async_copy_time("; + typedef decltype(api_data.args.hsa_amd_profiling_get_async_copy_time.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_async_copy_time.signal) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_get_async_copy_time.time) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_get_async_copy_time.time); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain: { + out << "hsa_amd_profiling_convert_tick_to_system_domain("; + typedef decltype(api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.agent_tick) << ", "; + typedef decltype(api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_profiling_convert_tick_to_system_domain.system_tick); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_signal_async_handler: { + out << "hsa_amd_signal_async_handler("; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.signal) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.cond) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.cond) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.value) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.handler) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.handler) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_async_handler.arg) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_async_handler.arg); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_async_function: { + out << "hsa_amd_async_function("; + typedef decltype(api_data.args.hsa_amd_async_function.callback) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_async_function.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_async_function.arg) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_async_function.arg); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_signal_wait_any: { + out << "hsa_amd_signal_wait_any("; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.signal_count) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.signal_count) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.signals) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.signals) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.conds) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.conds) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.values) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.values) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.timeout_hint) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.timeout_hint) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.wait_hint) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.wait_hint) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_wait_any.satisfying_value) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_wait_any.satisfying_value); + out << ") = " << api_data.uint32_t_retval; + break; + } + case HSA_API_ID_hsa_amd_queue_cu_set_mask: { + out << "hsa_amd_queue_cu_set_mask("; + typedef decltype(api_data.args.hsa_amd_queue_cu_set_mask.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_cu_set_mask.queue) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_cu_set_mask.num_cu_mask_count) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_cu_set_mask.cu_mask) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_cu_set_mask.cu_mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_pool_get_info: { + out << "hsa_amd_memory_pool_get_info("; + typedef decltype(api_data.args.hsa_amd_memory_pool_get_info.memory_pool) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_get_info.memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_get_info.attribute) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_get_info.value) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_agent_iterate_memory_pools: { + out << "hsa_amd_agent_iterate_memory_pools("; + typedef decltype(api_data.args.hsa_amd_agent_iterate_memory_pools.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_iterate_memory_pools.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_iterate_memory_pools.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_iterate_memory_pools.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_iterate_memory_pools.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_iterate_memory_pools.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_pool_allocate: { + out << "hsa_amd_memory_pool_allocate("; + typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.memory_pool) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.size) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.flags) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.flags) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_allocate.ptr) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_allocate.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_pool_free: { + out << "hsa_amd_memory_pool_free("; + typedef decltype(api_data.args.hsa_amd_memory_pool_free.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_free.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_async_copy: { + out << "hsa_amd_memory_async_copy("; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.dst) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.dst) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.dst_agent) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.dst_agent) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.src) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.src) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.src_agent) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.src_agent) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.size) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.size) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.num_dep_signals) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.num_dep_signals) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.dep_signals) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.dep_signals) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy.completion_signal) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy.completion_signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_agent_memory_pool_get_info: { + out << "hsa_amd_agent_memory_pool_get_info("; + typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.attribute) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.attribute) << ", "; + typedef decltype(api_data.args.hsa_amd_agent_memory_pool_get_info.value) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agent_memory_pool_get_info.value); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_agents_allow_access: { + out << "hsa_amd_agents_allow_access("; + typedef decltype(api_data.args.hsa_amd_agents_allow_access.num_agents) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.num_agents) << ", "; + typedef decltype(api_data.args.hsa_amd_agents_allow_access.agents) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.agents) << ", "; + typedef decltype(api_data.args.hsa_amd_agents_allow_access.flags) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.flags) << ", "; + typedef decltype(api_data.args.hsa_amd_agents_allow_access.ptr) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_agents_allow_access.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_pool_can_migrate: { + out << "hsa_amd_memory_pool_can_migrate("; + typedef decltype(api_data.args.hsa_amd_memory_pool_can_migrate.src_memory_pool) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_can_migrate.src_memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_can_migrate.dst_memory_pool) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_can_migrate.dst_memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_pool_can_migrate.result) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_pool_can_migrate.result); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_migrate: { + out << "hsa_amd_memory_migrate("; + typedef decltype(api_data.args.hsa_amd_memory_migrate.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_migrate.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_migrate.memory_pool) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_migrate.memory_pool) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_migrate.flags) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_migrate.flags); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_lock: { + out << "hsa_amd_memory_lock("; + typedef decltype(api_data.args.hsa_amd_memory_lock.host_ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.host_ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_lock.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.size) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_lock.agents) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.agents) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_lock.num_agent) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.num_agent) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_lock.agent_ptr) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_lock.agent_ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_unlock: { + out << "hsa_amd_memory_unlock("; + typedef decltype(api_data.args.hsa_amd_memory_unlock.host_ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_unlock.host_ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_fill: { + out << "hsa_amd_memory_fill("; + typedef decltype(api_data.args.hsa_amd_memory_fill.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_fill.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_fill.value) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_fill.value) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_fill.count) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_fill.count); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_interop_map_buffer: { + out << "hsa_amd_interop_map_buffer("; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.num_agents) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.num_agents) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.agents) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.agents) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.interop_handle) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.interop_handle) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.flags) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.flags) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.size) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.size) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.ptr) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.metadata_size) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.metadata_size) << ", "; + typedef decltype(api_data.args.hsa_amd_interop_map_buffer.metadata) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_map_buffer.metadata); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_interop_unmap_buffer: { + out << "hsa_amd_interop_unmap_buffer("; + typedef decltype(api_data.args.hsa_amd_interop_unmap_buffer.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_interop_unmap_buffer.ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_image_create: { + out << "hsa_amd_image_create("; + typedef decltype(api_data.args.hsa_amd_image_create.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.agent) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.image_layout) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image_layout) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.image_data) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image_data) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.access_permission) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.access_permission) << ", "; + typedef decltype(api_data.args.hsa_amd_image_create.image) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_image_create.image); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_pointer_info: { + out << "hsa_amd_pointer_info("; + typedef decltype(api_data.args.hsa_amd_pointer_info.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info.info) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.info) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info.alloc) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.alloc) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info.num_agents_accessible) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.num_agents_accessible) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info.accessible) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info.accessible); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_pointer_info_set_userdata: { + out << "hsa_amd_pointer_info_set_userdata("; + typedef decltype(api_data.args.hsa_amd_pointer_info_set_userdata.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info_set_userdata.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_pointer_info_set_userdata.userdata) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_pointer_info_set_userdata.userdata); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_memory_create: { + out << "hsa_amd_ipc_memory_create("; + typedef decltype(api_data.args.hsa_amd_ipc_memory_create.ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_create.ptr) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_create.len) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_create.len) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_create.handle) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_create.handle); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_memory_attach: { + out << "hsa_amd_ipc_memory_attach("; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.handle) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.handle) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.len) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.len) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.num_agents) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.num_agents) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.mapping_agents) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.mapping_agents) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_attach.mapped_ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_memory_detach: { + out << "hsa_amd_ipc_memory_detach("; + typedef decltype(api_data.args.hsa_amd_ipc_memory_detach.mapped_ptr) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_memory_detach.mapped_ptr); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_signal_create: { + out << "hsa_amd_signal_create("; + typedef decltype(api_data.args.hsa_amd_signal_create.initial_value) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.initial_value) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_create.num_consumers) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.num_consumers) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_create.consumers) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.consumers) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_create.attributes) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.attributes) << ", "; + typedef decltype(api_data.args.hsa_amd_signal_create.signal) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_signal_create.signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_signal_create: { + out << "hsa_amd_ipc_signal_create("; + typedef decltype(api_data.args.hsa_amd_ipc_signal_create.signal) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_create.signal) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_signal_create.handle) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_create.handle); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_ipc_signal_attach: { + out << "hsa_amd_ipc_signal_attach("; + typedef decltype(api_data.args.hsa_amd_ipc_signal_attach.handle) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_attach.handle) << ", "; + typedef decltype(api_data.args.hsa_amd_ipc_signal_attach.signal) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_ipc_signal_attach.signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_register_system_event_handler: { + out << "hsa_amd_register_system_event_handler("; + typedef decltype(api_data.args.hsa_amd_register_system_event_handler.callback) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_register_system_event_handler.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_register_system_event_handler.data) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_register_system_event_handler.data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_queue_intercept_create: { + out << "hsa_amd_queue_intercept_create("; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.agent_handle) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.agent_handle) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.size) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.size) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.type) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.type) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.callback) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.data) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.data) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.private_segment_size) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.private_segment_size) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.group_segment_size) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.group_segment_size) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_create.queue) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_create.queue); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_queue_intercept_register: { + out << "hsa_amd_queue_intercept_register("; + typedef decltype(api_data.args.hsa_amd_queue_intercept_register.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_register.queue) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_register.callback) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_register.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_intercept_register.user_data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_intercept_register.user_data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_queue_set_priority: { + out << "hsa_amd_queue_set_priority("; + typedef decltype(api_data.args.hsa_amd_queue_set_priority.queue) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_set_priority.queue) << ", "; + typedef decltype(api_data.args.hsa_amd_queue_set_priority.priority) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_queue_set_priority.priority); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_memory_async_copy_rect: { + out << "hsa_amd_memory_async_copy_rect("; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dst) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dst) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dst_offset) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dst_offset) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.src) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.src) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.src_offset) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.src_offset) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.range) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.range) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.copy_agent) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.copy_agent) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dir) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dir) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.num_dep_signals) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.dep_signals) arg_val_type_t8; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.dep_signals) << ", "; + typedef decltype(api_data.args.hsa_amd_memory_async_copy_rect.completion_signal) arg_val_type_t9; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_memory_async_copy_rect.completion_signal); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_amd_runtime_queue_create_register: { + out << "hsa_amd_runtime_queue_create_register("; + typedef decltype(api_data.args.hsa_amd_runtime_queue_create_register.callback) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_runtime_queue_create_register.callback) << ", "; + typedef decltype(api_data.args.hsa_amd_runtime_queue_create_register.user_data) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_amd_runtime_queue_create_register.user_data); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + + // block: ImageExtTable API + case HSA_API_ID_hsa_ext_image_get_capability: { + out << "hsa_ext_image_get_capability("; + typedef decltype(api_data.args.hsa_ext_image_get_capability.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability.geometry) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.geometry) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability.image_format) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.image_format) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability.capability_mask) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability.capability_mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_data_get_info: { + out << "hsa_ext_image_data_get_info("; + typedef decltype(api_data.args.hsa_ext_image_data_get_info.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info.access_permission) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.access_permission) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info.image_data_info) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info.image_data_info); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_create: { + out << "hsa_ext_image_create("; + typedef decltype(api_data.args.hsa_ext_image_create.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create.image_data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.image_data) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create.access_permission) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.access_permission) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create.image) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create.image); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_import: { + out << "hsa_ext_image_import("; + typedef decltype(api_data.args.hsa_ext_image_import.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.src_memory) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.src_memory) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.src_row_pitch) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.src_row_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.src_slice_pitch) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.src_slice_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.dst_image) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.dst_image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_import.image_region) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_import.image_region); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_export: { + out << "hsa_ext_image_export("; + typedef decltype(api_data.args.hsa_ext_image_export.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.src_image) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.src_image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.dst_memory) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.dst_memory) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.dst_row_pitch) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.dst_row_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.dst_slice_pitch) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.dst_slice_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_export.image_region) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_export.image_region); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_copy: { + out << "hsa_ext_image_copy("; + typedef decltype(api_data.args.hsa_ext_image_copy.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.src_image) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.src_image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.src_offset) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.src_offset) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.dst_image) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.dst_image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.dst_offset) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.dst_offset) << ", "; + typedef decltype(api_data.args.hsa_ext_image_copy.range) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_copy.range); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_clear: { + out << "hsa_ext_image_clear("; + typedef decltype(api_data.args.hsa_ext_image_clear.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_clear.image) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.image) << ", "; + typedef decltype(api_data.args.hsa_ext_image_clear.data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.data) << ", "; + typedef decltype(api_data.args.hsa_ext_image_clear.image_region) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_clear.image_region); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_destroy: { + out << "hsa_ext_image_destroy("; + typedef decltype(api_data.args.hsa_ext_image_destroy.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_destroy.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_destroy.image) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_destroy.image); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_sampler_create: { + out << "hsa_ext_sampler_create("; + typedef decltype(api_data.args.hsa_ext_sampler_create.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_create.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_sampler_create.sampler_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_create.sampler_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_sampler_create.sampler) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_create.sampler); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_sampler_destroy: { + out << "hsa_ext_sampler_destroy("; + typedef decltype(api_data.args.hsa_ext_sampler_destroy.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_destroy.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_sampler_destroy.sampler) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_sampler_destroy.sampler); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_get_capability_with_layout: { + out << "hsa_ext_image_get_capability_with_layout("; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.geometry) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.geometry) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.image_format) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.image_format) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.image_data_layout) << ", "; + typedef decltype(api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_get_capability_with_layout.capability_mask); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_data_get_info_with_layout: { + out << "hsa_ext_image_data_get_info_with_layout("; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.access_permission) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_layout) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_row_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_slice_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_data_get_info_with_layout.image_data_info); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + case HSA_API_ID_hsa_ext_image_create_with_layout: { + out << "hsa_ext_image_create_with_layout("; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.agent) arg_val_type_t0; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.agent) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_descriptor) arg_val_type_t1; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_descriptor) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data) arg_val_type_t2; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.access_permission) arg_val_type_t3; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.access_permission) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data_layout) arg_val_type_t4; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data_layout) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch) arg_val_type_t5; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data_row_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch) arg_val_type_t6; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image_data_slice_pitch) << ", "; + typedef decltype(api_data.args.hsa_ext_image_create_with_layout.image) arg_val_type_t7; + roctracer::hsa_support::output_streamer::put(out, api_data.args.hsa_ext_image_create_with_layout.image); + out << ") = " << api_data.hsa_status_t_retval; + break; + } + default: + out << "ERROR: unknown API"; + abort(); + } + return out; +} + #endif // INC_HSA_PROF_STR_H \ No newline at end of file diff --git a/projects/roctracer/inc/roctracer_hsa.h b/projects/roctracer/inc/roctracer_hsa.h index 473bb27ad1..7eb2c5b92c 100644 --- a/projects/roctracer/inc/roctracer_hsa.h +++ b/projects/roctracer/inc/roctracer_hsa.h @@ -22,6 +22,7 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HSA_H_ #define INC_ROCTRACER_HSA_H_ +#include #include #include @@ -70,5 +71,81 @@ extern ImageExtTable ImageExtTable_saved; }; }; +inline std::ostream& operator<< (std::ostream& out, const hsa_callback_data_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_signal_t& v) { out << "" << std::dec; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_signal_group_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_wavefront_t& v) { out << "" << std::dec; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_cache_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_region_t& v) { out << "" << std::dec; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_amd_memory_pool_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream &out, const hsa_agent_t& v) { out << "" << std::dec; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_isa_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_code_symbol_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_code_object_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_code_object_reader_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_executable_symbol_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_executable_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_ext_image_t& v) { out << ""; return out; } +inline std::ostream& operator<< (std::ostream& out, const hsa_ext_sampler_t& v) { out << ""; return out; } + +namespace roctracer { +namespace hsa_support { +template +struct output_streamer { + inline static std::ostream& put(std::ostream& out, const T& v) { out << v; return out; } +}; + +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, bool v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint8_t v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint16_t v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint32_t v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint64_t v) { out << std::hex << ""; return out; } +}; + +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, bool* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint8_t* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint16_t* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint32_t* v) { out << std::hex << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, uint64_t* v) { out << std::hex << ""; return out; } +}; + +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, hsa_queue_t* v) { out << ""; return out; } +}; +template<> +struct output_streamer { + inline static std::ostream& put(std::ostream& out, hsa_queue_t** v) { out << ""; return out; } +}; +};}; + #include "inc/hsa_prof_str.h" #endif // INC_ROCTRACER_HSA_H_ diff --git a/projects/roctracer/script/hsaap.py b/projects/roctracer/script/hsaap.py index fe4e215b88..ed2e5df1f7 100755 --- a/projects/roctracer/script/hsaap.py +++ b/projects/roctracer/script/hsaap.py @@ -156,7 +156,7 @@ class API_DeclParser: # parse method args def get_args(self, record): - struct = { 'ret': '', 'args': '', 'astr': {}, 'alst': []} + struct = {'ret': '', 'args': '', 'astr': {}, 'alst': [], 'tlst': []} record = re.sub(r'^\s+', r'', record) record = re.sub(r'\s*(\*+)\s*', r'\1 ', record) rind = NextBlock(0, record) @@ -191,6 +191,7 @@ class API_DeclParser: item = args[pos:end] struct['astr'][name] = item struct['alst'].append(name) + struct['tlst'].append(item) if args[end] != ',': self.fatal("no comma '" + args + "'") pos = end + 1 @@ -222,8 +223,7 @@ class API_DeclParser: if active == 1: if self.is_end(record): - args = self.get_args(record) - self.data[call] = args + self.data[call] = self.get_args(record) active = 0 found = 0 @@ -242,6 +242,7 @@ class API_DescrParser: self.content = '' self.api_names = [] self.api_calls = {} + self.api_rettypes = set() self.api_id = {} api_data = {} @@ -267,11 +268,16 @@ class API_DescrParser: API_DeclParser(hsa_dir + header, api_list, api_data) for call in api_list: - # Not-supported functions - if not call in api_data: ns_calls.append(call) - # API ID map - self.api_id[call] = 'HSA_API_ID_' + call + if not call in api_data: + # Not-supported functions + ns_calls.append(call) + else: + # API ID map + self.api_id[call] = 'HSA_API_ID_' + call + # Return types + self.api_rettypes.add(api_data[call]['ret']) + self.api_rettypes.discard('void') self.api_data = api_data self.ns_calls = ns_calls @@ -303,6 +309,8 @@ class API_DescrParser: self.add_section('API get_name function', ' ', self.gen_get_name) self.content += '\n};};\n' self.content += '#endif // PROF_API_IMPL\n' + + self.add_section('API output stream', ' ', self.gen_out_stream) self.content += '\n' self.content += '#endif // ' + out_macro @@ -344,6 +352,10 @@ class API_DescrParser: self.content += ' uint64_t correlation_id;\n' self.content += ' uint32_t phase;\n' self.content += ' union {\n' + for ret_type in self.api_rettypes: + self.content += ' ' + ret_type + ' ' + ret_type + '_retval;\n' + self.content += ' };\n' + self.content += ' union {\n' return if call != '-': self.content += ' struct {\n' @@ -365,7 +377,7 @@ class API_DescrParser: ret_type = struct['ret'] self.content += 'static ' + ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' self.content += ' hsa_api_data_t api_data{};\n' - for var in struct['astr']: + for var in struct['alst']: self.content += ' api_data.args.' + call + '.' + var + ' = ' + var + ';\n' self.content += ' activity_rtapi_callback_t api_callback_fun = NULL;\n' self.content += ' void* api_callback_arg = NULL;\n' @@ -375,6 +387,8 @@ class API_DescrParser: if ret_type != 'void': self.content += ' ' + ret_type + ' ret =' self.content += ' ' + name + '_saved.' + call + '_fn(' + ', '.join(struct['alst']) + ');\n' + if ret_type != 'void': + self.content += ' api_data.' + ret_type + '_retval = ret;\n' self.content += ' api_data.phase = 1;\n' self.content += ' if (api_callback_fun) api_callback_fun(ACTIVITY_DOMAIN_HSA_API, ' + call_id + ', &api_data, api_callback_arg);\n' if ret_type != 'void': @@ -400,9 +414,56 @@ class API_DescrParser: if call != '-': self.content += ' case ' + self.api_id[call] + ': return "' + call + '";\n' else: - self.content += ' };\n' + self.content += ' }\n' self.content += ' return "unknown";\n' - self.content += '};\n' + self.content += '}\n' + + # generate stream operator + def gen_out_stream(self, n, name, call, struct): + if n == -1: + self.content += 'typedef std::pair hsa_api_data_pair_t;\n' + self.content += 'inline std::ostream& operator<< (std::ostream& out, const hsa_api_data_pair_t& data_pair) {\n' + self.content += ' const uint32_t cid = data_pair.first;\n' + self.content += ' const hsa_api_data_t& api_data = data_pair.second;\n' + self.content += ' switch(cid) {\n' + return + if call != '-': + self.content += ' case ' + self.api_id[call] + ': {\n' + self.content += ' out << "' + call + '(";\n' + arg_list = struct['alst'] + if len(arg_list) != 0: + for ind in range(len(arg_list)): + arg_var = arg_list[ind] + arg_val = 'api_data.args.' + call + '.' + arg_var + self.content += ' typedef decltype(' + arg_val + ') arg_val_type_t' + str(ind) + ';\n' + self.content += ' roctracer::hsa_support::output_streamer::put(out, ' + arg_val + ')' + ''' + arg_item = struct['tlst'][ind] + if re.search(r'\(\* ', arg_item): arg_pref = '' + elif re.search(r'void\* ', arg_item): arg_pref = '' + elif re.search(r'\*\* ', arg_item): arg_pref = '**' + elif re.search(r'\* ', arg_item): arg_pref = '*' + else: arg_pref = '' + if arg_pref != '': + self.content += ' if (' + arg_val + ') out << ' + arg_pref + '(' + arg_val + '); else out << ' + arg_val + else: + self.content += ' out << ' + arg_val + ''' + if ind < len(arg_list) - 1: self.content += ' << ", ";\n' + else: self.content += ';\n' + if struct['ret'] != 'void': + self.content += ' out << ") = " << api_data.' + struct['ret'] + '_retval;\n' + else: + self.content += ' out << ") = void";\n' + self.content += ' break;\n' + self.content += ' }\n' + else: + self.content += ' default:\n' + self.content += ' out << "ERROR: unknown API";\n' + self.content += ' abort();\n' + self.content += ' }\n' + self.content += ' return out;\n' + self.content += '}\n' ############################################################# # main diff --git a/projects/roctracer/test/CMakeLists.txt b/projects/roctracer/test/CMakeLists.txt index 542aeb0374..a8413f8307 100644 --- a/projects/roctracer/test/CMakeLists.txt +++ b/projects/roctracer/test/CMakeLists.txt @@ -32,7 +32,7 @@ execute_process ( COMMAND sh -xc "if [ -e ${TEST_DIR}/hsa ] ; then cd ${TEST_DIR file( GLOB UTIL_SRC "${TEST_HSA}/util/*.cpp" ) ## Build test library -set ( TEST_LIB "tool" ) +set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) target_include_directories ( ${TEST_LIB} PRIVATE ${TEST_HSA} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ) diff --git a/projects/roctracer/test/run.sh b/projects/roctracer/test/run.sh index b562f06421..f14a53cc0b 100755 --- a/projects/roctracer/test/run.sh +++ b/projects/roctracer/test/run.sh @@ -43,7 +43,7 @@ export ROCP_THRS=1 # paths to ROC profiler and oher libraries export LD_LIBRARY_PATH=$PWD # ROC profiler library loaded by HSA runtime -export HSA_TOOLS_LIB="test/libtool.so libroctracer64.so" +export HSA_TOOLS_LIB="test/tracer_libtool.so libroctracer64.so" export LD_PRELOAD="libroctracer64.so" eval ./test/hsa/ctrl diff --git a/projects/roctracer/test/tool/tool.cpp b/projects/roctracer/test/tool/tool.cpp index f8b46c14d2..1b2d6cd72c 100644 --- a/projects/roctracer/test/tool/tool.cpp +++ b/projects/roctracer/test/tool/tool.cpp @@ -20,7 +20,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#include +#include + #include + #include #include @@ -45,8 +49,12 @@ void hsa_api_callback( if (data->phase == ACTIVITY_API_PHASE_ENTER) { begin_timestamp = timer.timestamp_fn_ns(); } else { - timestamp_t duration_ns = (cid == HSA_API_ID_hsa_shut_down) ? 0 : timer.timestamp_fn_ns() - begin_timestamp; - fprintf(stdout, "%s,%luns\n", roctracer_id_string(domain, cid, 0), duration_ns); + const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? begin_timestamp : timer.timestamp_fn_ns(); +// const timestamp_t duration_ns = end_timestamp - begin_timestamp; +// fprintf(stdout, "%s,%luns\n", roctracer_id_string(domain, cid, 0), duration_ns); + std::ostringstream os; + os << '(' << begin_timestamp << ":" << end_timestamp << ") " << hsa_api_data_pair_t(cid, *data); + fprintf(stdout, "%s\n", os.str().c_str()); } }