SWDEV-255637 support for hsa_amd_memory_async_copy_rect

Change-Id: I5db6484c30427712c56b59862e748118a3f079c2


[ROCm/roctracer commit: 06271806d4]
Этот коммит содержится в:
Rachida Kebichi
2021-03-05 14:24:27 -05:00
родитель 4171d2be0d
Коммит d78eaf664f
2 изменённых файлов: 10 добавлений и 1 удалений
+8 -1
Просмотреть файл
@@ -362,11 +362,13 @@ class API_DescrParser:
self.content += ' struct {\n'
for (var, item) in struct['astr'].items():
self.content += ' ' + item + ';\n'
if call == "hsa_amd_memory_async_copy_rect" and item == "const hsa_dim3_t* range":
self.content += ' hsa_dim3_t range__val;\n'
self.content += ' } ' + call + ';\n'
else:
self.content += ' } args;\n'
self.content += '};\n'
# generate API callbacks
def gen_callbacks(self, n, name, call, struct):
if n == -1:
@@ -384,6 +386,8 @@ class API_DescrParser:
self.content += ' api_data.args.' + call + '.' + var + ' = ' + '(' + var + ' != NULL) ? strdup(' + var + ')' + ' : NULL;\n'
else:
self.content += ' api_data.args.' + call + '.' + var + ' = ' + var + ';\n'
if call == 'hsa_amd_memory_async_copy_rect' and var == 'range':
self.content += ' api_data.args.' + call + '.' + var + '__val = ' + '*(' + var + ');\n'
self.content += ' activity_rtapi_callback_t api_callback_fun = NULL;\n'
self.content += ' void* api_callback_arg = NULL;\n'
self.content += ' cb_table.get(' + call_id + ', &api_callback_fun, &api_callback_arg);\n'
@@ -459,6 +463,9 @@ class API_DescrParser:
self.content += ' out << "0x" << std::hex << (uint64_t)' + arg_val
else:
self.content += ' out << ' + arg_val
if call == "hsa_amd_memory_async_copy_rect" and arg_var == "range":
self.content += ' << ", ";\n'
self.content += ' out << ' + arg_val + '__val'
'''
arg_item = struct['tlst'][ind]
if re.search(r'\(\* ', arg_item): arg_pref = ''
+2
Просмотреть файл
@@ -315,6 +315,7 @@ constexpr roctracer::TraceBuffer<hsa_api_trace_entry_t>::flush_prm_t hsa_flush_p
roctracer::TraceBuffer<hsa_api_trace_entry_t>* hsa_api_trace_buffer = NULL;
// HSA API callback function
void hsa_api_callback(
uint32_t domain,
uint32_t cid,
@@ -326,6 +327,7 @@ void hsa_api_callback(
if (data->phase == ACTIVITY_API_PHASE_ENTER) {
hsa_begin_timestamp = timer->timestamp_fn_ns();
} else {
const timestamp_t end_timestamp = (cid == HSA_API_ID_hsa_shut_down) ? hsa_begin_timestamp : timer->timestamp_fn_ns();
hsa_api_trace_entry_t* entry = hsa_api_trace_buffer->GetEntry();
entry->cid = cid;