radeonsi: Refuse to accept code with unhandled relocations

They might lead to unrecoverable GPU hang.
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 9baacf3fa7)
This commit is contained in:
Jan Vesely 2018-07-16 21:22:22 -04:00 committed by Dylan Baker
parent 1a0b75aa16
commit b9d1ef5035

View file

@ -221,6 +221,12 @@ static void *si_create_compute_state(
const amd_kernel_code_t *code_object =
si_compute_get_code_object(program, 0);
code_object_to_config(code_object, &program->shader.config);
if (program->shader.binary.reloc_count != 0) {
fprintf(stderr, "Error: %d unsupported relocations\n",
program->shader.binary.reloc_count);
FREE(program);
return NULL;
}
} else {
si_shader_binary_read_config(&program->shader.binary,
&program->shader.config, 0);