diff --git a/src/intel/compiler/brw_compiler.c b/src/intel/compiler/brw_compiler.c index 6816424b88c..f367903eace 100644 --- a/src/intel/compiler/brw_compiler.c +++ b/src/intel/compiler/brw_compiler.c @@ -289,6 +289,9 @@ brw_write_shader_relocs(const struct intel_device_info *devinfo, if (prog_data->relocs[i].id == values[j].id) { uint32_t value = values[j].value + prog_data->relocs[i].delta; switch (prog_data->relocs[i].type) { + case BRW_SHADER_RELOC_TYPE_U32: + *(uint32_t *)dst = value; + break; case BRW_SHADER_RELOC_TYPE_MOV_IMM: brw_update_reloc_imm(devinfo, dst, value); break; diff --git a/src/intel/compiler/brw_compiler.h b/src/intel/compiler/brw_compiler.h index 1a01f49c20d..b60d09be3f9 100644 --- a/src/intel/compiler/brw_compiler.h +++ b/src/intel/compiler/brw_compiler.h @@ -681,6 +681,8 @@ enum brw_shader_reloc_id { }; enum brw_shader_reloc_type { + /** An arbitrary 32-bit value */ + BRW_SHADER_RELOC_TYPE_U32, /** A MOV instruction with an immediate source */ BRW_SHADER_RELOC_TYPE_MOV_IMM, };