if (texture_idx >= 0) {
texture = ir3_get_src(ctx, &tex->src[texture_idx].src)[0];
texture = ir3_COV(ctx->block, texture, TYPE_U32, TYPE_U16);
- if (tex->texture_index != 0) {
- texture = ir3_ADD_U(b, texture, 0, create_immed_typed(b, tex->texture_index, TYPE_U16), 0);
- texture->dsts[0]->flags |= IR3_REG_HALF;
- }
} else {
/* TODO what to do for dynamic case? I guess we only need the
* max index for astc srgb workaround so maybe not a problem
if (sampler_idx >= 0) {
sampler = ir3_get_src(ctx, &tex->src[sampler_idx].src)[0];
sampler = ir3_COV(ctx->block, sampler, TYPE_U32, TYPE_U16);
- if (tex->sampler_index != 0) {
- sampler = ir3_ADD_U(b, sampler, 0, create_immed_typed(b, tex->sampler_index, TYPE_U16), 0);
- sampler->dsts[0]->flags |= IR3_REG_HALF;
- }
} else {
sampler = create_immed_typed(ctx->block, tex->sampler_index, TYPE_U16);
info.samp_idx = tex->texture_index;
.lower_rect = 0,
.lower_tg4_offsets = true,
.lower_invalid_implicit_lod = true,
+ .lower_index_to_offset = true,
};
if (compiler->gen >= 4) {