Module: Mesa
Branch: master
Commit: ea49c9dabc874e5dc0a0c669dfb650c3d1294d19
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea49c9dabc874e5dc0a0c669dfb650c3d1294d19

Author: Ilia Mirkin <[email protected]>
Date:   Sat Apr  3 01:10:14 2021 -0400

nv50: emulate indirect draws

This is helpful for allowing ES 3.1 to work, as this is required.

Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Karol Herbst <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10162>

---

 src/gallium/drivers/nouveau/nv50/nv50_vbo.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c 
b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c
index cab3b3dc55b..fd2c6e119be 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c
@@ -770,6 +770,14 @@ nv50_draw_vbo(struct pipe_context *pipe, const struct 
pipe_draw_info *info,
    if (!indirect && (!draws[0].count || !info->instance_count))
       return;
 
+   /* We don't actually support indirect draws, so add a fallback for ES 3.1's
+    * benefit.
+    */
+   if (indirect && indirect->buffer) {
+      util_draw_indirect(pipe, info, indirect);
+      return;
+   }
+
    struct nv50_context *nv50 = nv50_context(pipe);
    struct nouveau_pushbuf *push = nv50->base.pushbuf;
    bool tex_dirty = false;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to