bt->sizes[CROCUS_SURFACE_GROUP_TEXTURE] = BITSET_LAST_BIT(info->textures_used);
bt->used_mask[CROCUS_SURFACE_GROUP_TEXTURE] = info->textures_used[0];
- if (info->uses_texture_gather) {
+ if (info->uses_texture_gather && devinfo->ver < 8) {
bt->sizes[CROCUS_SURFACE_GROUP_TEXTURE_GATHER] = BITSET_LAST_BIT(info->textures_used);
bt->used_mask[CROCUS_SURFACE_GROUP_TEXTURE_GATHER] = info->textures_used[0];
}
nir_foreach_instr (instr, block) {
if (instr->type == nir_instr_type_tex) {
nir_tex_instr *tex = nir_instr_as_tex(instr);
- bool is_gather = tex->op == nir_texop_tg4;
+ bool is_gather = devinfo->ver < 8 && tex->op == nir_texop_tg4;
/* rewrite the tg4 component from green to blue before replacing the
texture index */
/* just create a second view struct for texture gather just in case */
isv->gather_view = isv->view;
-#if GFX_VER >= 7
+#if GFX_VER == 7
if (fmt.fmt == ISL_FORMAT_R32G32_FLOAT ||
fmt.fmt == ISL_FORMAT_R32G32_SINT ||
fmt.fmt == ISL_FORMAT_R32G32_UINT) {
int s = 0;
uint32_t *surf_offsets = shader->surf_offset;
+#if GFX_VER < 8
const struct shader_info *info = crocus_get_shader_info(ice, stage);
+#endif
if (stage == MESA_SHADER_FRAGMENT) {
struct pipe_framebuffer_state *cso_fb = &ice->state.framebuffer;
s++;
}
+#if GFX_VER < 8
if (info && info->uses_texture_gather) {
foreach_surface_used(i, CROCUS_SURFACE_GROUP_TEXTURE_GATHER) {
struct crocus_sampler_view *view = shs->textures[i];
s++;
}
}
+#endif
foreach_surface_used(i, CROCUS_SURFACE_GROUP_IMAGE) {
struct crocus_image_view *view = &shs->image[i];