diff --git a/src/gallium/auxiliary/nir/nir_to_tgsi_info.c b/src/gallium/auxiliary/nir/nir_to_tgsi_info.c index ce1e3412f42..48f132e2e58 100644 --- a/src/gallium/auxiliary/nir/nir_to_tgsi_info.c +++ b/src/gallium/auxiliary/nir/nir_to_tgsi_info.c @@ -460,6 +460,7 @@ void nir_tgsi_scan_shader(const struct nir_shader *nir, info->properties[TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL] = nir->info.fs.early_fragment_tests | nir->info.fs.post_depth_coverage; info->properties[TGSI_PROPERTY_FS_POST_DEPTH_COVERAGE] = nir->info.fs.post_depth_coverage; + info->uses_fbfetch = nir->info.fs.uses_fbfetch_output; if (nir->info.fs.pixel_center_integer) { info->properties[TGSI_PROPERTY_FS_COORD_PIXEL_CENTER] = diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 80dd95f01e9..553bd5c85b1 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -3627,7 +3627,8 @@ generate_variant(struct llvmpipe_context *lp, !key->blend.alpha_to_coverage && !key->depth.enabled && !shader->info.base.uses_kill && - !shader->info.base.writes_samplemask; + !shader->info.base.writes_samplemask && + !shader->info.base.uses_fbfetch; variant->opaque = no_kill &&