Mesa (main): v3dv: add a few more broadcom shader stage helpers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jul 12 07:56:02 UTC 2021


Module: Mesa
Branch: main
Commit: 4c94f93413d444073eced305af881cdb242d2906
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c94f93413d444073eced305af881cdb242d2906

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Jun 30 10:39:04 2021 +0200

v3dv: add a few more broadcom shader stage helpers

Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11783>

---

 src/broadcom/vulkan/v3dv_private.h | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/src/broadcom/vulkan/v3dv_private.h b/src/broadcom/vulkan/v3dv_private.h
index a35c3c0796d..152a9c0a34e 100644
--- a/src/broadcom/vulkan/v3dv_private.h
+++ b/src/broadcom/vulkan/v3dv_private.h
@@ -321,6 +321,43 @@ broadcom_shader_stage_to_gl(enum broadcom_shader_stage stage)
    }
 }
 
+static inline bool
+broadcom_shader_stage_is_binning(enum broadcom_shader_stage stage)
+{
+   switch (stage) {
+   case BROADCOM_SHADER_VERTEX_BIN:
+   case BROADCOM_SHADER_GEOMETRY_BIN:
+      return true;
+   default:
+      return false;
+   }
+}
+
+static inline bool
+broadcom_shader_stage_is_render_with_binning(enum broadcom_shader_stage stage)
+{
+   switch (stage) {
+   case BROADCOM_SHADER_VERTEX:
+   case BROADCOM_SHADER_GEOMETRY:
+      return true;
+   default:
+      return false;
+   }
+}
+
+static inline enum broadcom_shader_stage
+broadcom_binning_shader_stage_for_render_stage(enum broadcom_shader_stage stage)
+{
+   switch (stage) {
+   case BROADCOM_SHADER_VERTEX:
+      return BROADCOM_SHADER_VERTEX_BIN;
+   case BROADCOM_SHADER_GEOMETRY:
+      return BROADCOM_SHADER_GEOMETRY_BIN;
+   default:
+      unreachable("Invalid shader stage");
+   }
+}
+
 static inline const char *
 broadcom_shader_stage_name(enum broadcom_shader_stage stage)
 {



More information about the mesa-commit mailing list