Module: Mesa
Branch: staging/21.0
Commit: 58cf2d82ca1b7525390f03863d520423dd5d5600
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=58cf2d82ca1b7525390f03863d520423dd5d5600

Author: Marcin Ślusarz <marcin.slus...@intel.com>
Date:   Mon Mar  8 12:30:58 2021 +0100

gallium: add PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH

Fixes: 42842306d3c ("mesa,st/mesa: add a fast path for non-static VAOs")
Signed-off-by: Marcin Ślusarz <marcin.slus...@intel.com>
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10175>

---

 src/gallium/auxiliary/util/u_screen.c  | 3 +++
 src/gallium/include/pipe/p_defines.h   | 1 +
 src/mesa/state_tracker/st_extensions.c | 3 ++-
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/util/u_screen.c 
b/src/gallium/auxiliary/util/u_screen.c
index 048749e3099..ef764a8499d 100644
--- a/src/gallium/auxiliary/util/u_screen.c
+++ b/src/gallium/auxiliary/util/u_screen.c
@@ -445,6 +445,9 @@ u_pipe_screen_get_param_defaults(struct pipe_screen 
*pscreen,
    case PIPE_CAP_SHADER_ATOMIC_INT64:
       return 0;
 
+   case PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH:
+      return 1;
+
    default:
       unreachable("bad PIPE_CAP_*");
    }
diff --git a/src/gallium/include/pipe/p_defines.h 
b/src/gallium/include/pipe/p_defines.h
index 3b984b716ca..caddad15e3d 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -977,6 +977,7 @@ enum pipe_cap
    PIPE_CAP_SHADER_ATOMIC_INT64,
    PIPE_CAP_DEVICE_PROTECTED_CONTENT,
    PIPE_CAP_PREFER_REAL_BUFFER_IN_CONSTBUF0,
+   PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH,
 };
 
 /**
diff --git a/src/mesa/state_tracker/st_extensions.c 
b/src/mesa/state_tracker/st_extensions.c
index 3712f70ab5b..fe14be65820 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -586,7 +586,8 @@ void st_init_limits(struct pipe_screen *screen,
       screen->get_param(screen, PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET);
 
    c->MultiDrawWithUserIndices = true;
-   c->AllowDynamicVAOFastPath = true;
+   c->AllowDynamicVAOFastPath =
+         screen->get_param(screen, PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH);
 
    c->glBeginEndBufferSize =
       screen->get_param(screen, PIPE_CAP_GL_BEGIN_END_BUFFER_SIZE);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to