mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
aco: readfirstlane vgpr pointers in convert_pointer_to_64_bit()
This can happen when bcsel is used between the results of two vulkan_resource_index. It's also probably needed for non-uniform descriptor indexing Fixes dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.compute.reads_opselect_two_buffers Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
This commit is contained in:
parent
45d6c69b99
commit
5526a557ee
1 changed files with 2 additions and 0 deletions
|
|
@ -369,6 +369,8 @@ Temp convert_pointer_to_64_bit(isel_context *ctx, Temp ptr)
|
|||
if (ptr.size() == 2)
|
||||
return ptr;
|
||||
Builder bld(ctx->program, ctx->block);
|
||||
if (ptr.type() == RegType::vgpr)
|
||||
ptr = bld.vop1(aco_opcode::v_readfirstlane_b32, bld.def(s1), ptr);
|
||||
return bld.pseudo(aco_opcode::p_create_vector, bld.def(s2),
|
||||
ptr, Operand((unsigned)ctx->options->address32_hi));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue