diff --git a/src/intel/vulkan/anv_nir_apply_pipeline_layout.c b/src/intel/vulkan/anv_nir_apply_pipeline_layout.c index 4660cf270a3..b443baebc7b 100644 --- a/src/intel/vulkan/anv_nir_apply_pipeline_layout.c +++ b/src/intel/vulkan/anv_nir_apply_pipeline_layout.c @@ -1033,7 +1033,7 @@ lower_load_constant(nir_builder *b, nir_intrinsic_instr *intrin, nir_iadd(b, nir_load_reloc_const_intel(b, BRW_SHADER_RELOC_CONST_DATA_ADDR_LOW), offset), - nir_imm_int(b, INSTRUCTION_STATE_POOL_MIN_ADDRESS >> 32)); + nir_load_reloc_const_intel(b, BRW_SHADER_RELOC_CONST_DATA_ADDR_HIGH)); nir_ssa_def *data = nir_load_global_constant(b, const_data_addr, diff --git a/src/intel/vulkan/anv_pipeline_cache.c b/src/intel/vulkan/anv_pipeline_cache.c index d6fbef8ce60..1ce58661e73 100644 --- a/src/intel/vulkan/anv_pipeline_cache.c +++ b/src/intel/vulkan/anv_pipeline_cache.c @@ -126,6 +126,10 @@ anv_shader_bin_create(struct anv_device *device, .value = shader_data_addr, }; assert(shader_data_addr >> 32 == INSTRUCTION_STATE_POOL_MIN_ADDRESS >> 32); + reloc_values[rv_count++] = (struct brw_shader_reloc_value) { + .id = BRW_SHADER_RELOC_CONST_DATA_ADDR_HIGH, + .value = INSTRUCTION_STATE_POOL_MIN_ADDRESS >> 32 + }; reloc_values[rv_count++] = (struct brw_shader_reloc_value) { .id = BRW_SHADER_RELOC_SHADER_START_OFFSET, .value = shader->kernel.offset,