intel/compiler: Add a U32 reloc type
authorJason Ekstrand <jason@jlekstrand.net>
Fri, 4 Sep 2020 17:23:35 +0000 (12:23 -0500)
committerMarge Bot <eric+marge@anholt.net>
Tue, 22 Jun 2021 21:09:25 +0000 (21:09 +0000)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8637>

src/intel/compiler/brw_compiler.c
src/intel/compiler/brw_compiler.h

index 6816424..f367903 100644 (file)
@@ -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;
index 1a01f49..b60d09b 100644 (file)
@@ -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,
 };