device->trace_bo = ws->buffer_create(ws, TRACE_BO_SIZE, 8,
RADEON_DOMAIN_VRAM,
RADEON_FLAG_CPU_ACCESS|
- RADEON_FLAG_NO_INTERPROCESS_SHARING,
+ RADEON_FLAG_NO_INTERPROCESS_SHARING |
+ RADEON_FLAG_ZERO_VRAM,
RADV_BO_PRIORITY_UPLOAD_BUFFER);
if (!device->trace_bo)
return false;
if (!device->trace_id_ptr)
return false;
- memset(device->trace_id_ptr, 0, TRACE_BO_SIZE);
-
ac_vm_fault_occured(device->physical_device->rad_info.chip_class,
&device->dmesg_timestamp, NULL);
fprintf(f, "Descriptors:\n");
for (i = 0; i < MAX_SETS; i++) {
struct radv_descriptor_set *set =
- (struct radv_descriptor_set *)ptr[i + 3];
+ *(struct radv_descriptor_set **)(ptr + i + 3);
radv_dump_descriptor_set(device, set, i, f);
}
fprintf(f, "NIR:\n%s\n", shader->nir_string);
}
- fprintf(f, "LLVM IR:\n%s\n", shader->ir_string);
+ fprintf(f, "%s IR:\n%s\n",
+ pipeline->device->physical_device->use_aco ? "ACO" : "LLVM",
+ shader->ir_string);
fprintf(f, "DISASM:\n%s\n", shader->disasm_string);
radv_shader_dump_stats(pipeline->device, shader, stage, f);
{
uint64_t *ptr = (uint64_t *)device->trace_id_ptr;
- return (struct radv_pipeline *)ptr[1];
+ return *(struct radv_pipeline **)(ptr + 1);
}
static struct radv_pipeline *
{
uint64_t *ptr = (uint64_t *)device->trace_id_ptr;
- return (struct radv_pipeline *)ptr[2];
+ return *(struct radv_pipeline **)(ptr + 2);
}
static void
snprintf(kernel_version, sizeof(kernel_version),
" / %s", uname_data.release);
- fprintf(f, "Device name: %s (%s DRM %i.%i.%i%s, LLVM "
- MESA_LLVM_VERSION_STRING ")\n\n",
+ fprintf(f, "Device name: %s (%s / DRM %i.%i.%i%s)\n\n",
chip_name, device->physical_device->name,
info->drm_major, info->drm_minor, info->drm_patchlevel,
kernel_version);