summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2020-12-11 19:00:23 -0500
committerMarge Bot <eric+marge@anholt.net>2020-12-14 14:42:55 +0000
commit614c77772ac2f48955537efcfefaf0609d6c03e5 (patch)
tree1c90da86d640df3cfaa8fda2861fc405a91a89df
parentdfd0f042e0d8faa374629ea0a67422edff6d48c3 (diff)
st/pbo: fix pbo uploads without PIPE_CAP_TGSI_VS_LAYER_VIEWPORT
the code here tries to be too smart and only use a geometry shader if there's actually multiple layers being uploaded, but the fragment shader also unconditionally reads gl_Layer as long as the pipe cap for gs is set, which means that in the case when the gs is dynamically disabled due to uploading a single-layer surface, the fs has no input to read for gl_Layer and everything breaks always using a gs isn't ideal, but it's considerably more work to manage multiple fs variants based on layer usage Fixes: c99f2fe70ec ("st/mesa: implement PBO upload for multiple layers") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8067>
-rw-r--r--src/mesa/state_tracker/st_pbo.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_pbo.c b/src/mesa/state_tracker/st_pbo.c
index fbc6b4ef8a2..3c197d89b53 100644
--- a/src/mesa/state_tracker/st_pbo.c
+++ b/src/mesa/state_tracker/st_pbo.c
@@ -202,7 +202,7 @@ st_pbo_draw(struct st_context *st, const struct st_pbo_addresses *addr,
return false;
}
- if (addr->depth != 1 && st->pbo.use_gs && !st->pbo.gs) {
+ if (st->pbo.use_gs && !st->pbo.gs) {
st->pbo.gs = st_pbo_create_gs(st);
if (!st->pbo.gs)
return false;