/**
* An address format which is comprised of a vec2 where the first
- * component is a vulkan descriptor index and the second is an offset.
+ * component is a buffer index and the second is an offset.
*/
- nir_address_format_vk_index_offset,
+ nir_address_format_32bit_index_offset,
} nir_address_format;
bool nir_lower_explicit_io(nir_shader *shader,
nir_variable_mode modes,
assert(addr->num_components == 1);
return nir_iadd(b, addr, offset);
- case nir_address_format_vk_index_offset:
+ case nir_address_format_32bit_index_offset:
assert(addr->num_components == 2);
return nir_vec2(b, nir_channel(b, addr, 0),
nir_iadd(b, nir_channel(b, addr, 1), offset));
addr_to_index(nir_builder *b, nir_ssa_def *addr,
nir_address_format addr_format)
{
- assert(addr_format == nir_address_format_vk_index_offset);
+ assert(addr_format == nir_address_format_32bit_index_offset);
assert(addr->num_components == 2);
return nir_channel(b, addr, 0);
}
addr_to_offset(nir_builder *b, nir_ssa_def *addr,
nir_address_format addr_format)
{
- assert(addr_format == nir_address_format_vk_index_offset);
+ assert(addr_format == nir_address_format_32bit_index_offset);
assert(addr->num_components == 2);
return nir_channel(b, addr, 1);
}
assert(addr->num_components == 1);
return addr;
- case nir_address_format_vk_index_offset:
+ case nir_address_format_32bit_index_offset:
unreachable("Cannot get a 64-bit address with this address format");
}
index = nir_imm_ivec2(b, state->set[set].desc_offset,
bind_layout->descriptor_offset);
} else {
- /* We're using nir_address_format_vk_index_offset */
+ /* We're using nir_address_format_32bit_index_offset */
index = nir_vec2(b, nir_iadd_imm(b, array_index, surface_index),
nir_imm_int(b, 0));
}
b->cursor = nir_before_instr(&intrin->instr);
- /* We follow the nir_address_format_vk_index_offset model */
+ /* We follow the nir_address_format_32bit_index_offset model */
assert(intrin->src[0].is_ssa);
nir_ssa_def *index = intrin->src[0].ssa;
assert(intrin->src[0].is_ssa);
nir_ssa_def *index = intrin->src[0].ssa;
- /* We're following the nir_address_format_vk_index_offset model so the
+ /* We're following the nir_address_format_32bit_index_offset model so the
* binding table index is the first component of the address. The
* back-end wants a scalar binding table index source.
*/
NIR_PASS_V(nir, nir_lower_explicit_io,
nir_var_mem_ubo | nir_var_mem_ssbo,
- nir_address_format_vk_index_offset);
+ nir_address_format_32bit_index_offset);
NIR_PASS_V(nir, nir_opt_constant_folding);
}