Mesa (main): radv: declare new dynamic states for VK_EXT_extended_dynamic_state2

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu May 6 21:11:08 UTC 2021


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Mar 15 17:42:46 2021 +0100

radv: declare new dynamic states for VK_EXT_extended_dynamic_state2

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10340>

---

 src/amd/vulkan/radv_pipeline.c | 10 ++++++++++
 src/amd/vulkan/radv_private.h  | 24 +++++++++++++++++-------
 2 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index 412e2b94758..dcff80f9c44 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -1360,6 +1360,16 @@ radv_dynamic_state_mask(VkDynamicState state)
       return RADV_DYNAMIC_VERTEX_INPUT_BINDING_STRIDE;
    case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR:
       return RADV_DYNAMIC_FRAGMENT_SHADING_RATE;
+   case VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT:
+      return RADV_DYNAMIC_PATCH_CONTROL_POINTS;
+   case VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT:
+      return RADV_DYNAMIC_RASTERIZER_DISCARD_ENABLE;
+   case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT:
+      return RADV_DYNAMIC_DEPTH_BIAS_ENABLE;
+   case VK_DYNAMIC_STATE_LOGIC_OP_EXT:
+      return RADV_DYNAMIC_LOGIC_OP;
+   case VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT:
+      return RADV_DYNAMIC_PRIMITIVE_RESTART_ENABLE;
    default:
       unreachable("Unhandled dynamic state");
    }
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index 9fdfcfd5e4c..27796172b95 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -996,7 +996,12 @@ enum radv_dynamic_state_bits {
    RADV_DYNAMIC_STENCIL_OP = 1ull << 20,
    RADV_DYNAMIC_VERTEX_INPUT_BINDING_STRIDE = 1ull << 21,
    RADV_DYNAMIC_FRAGMENT_SHADING_RATE = 1ull << 22,
-   RADV_DYNAMIC_ALL = (1ull << 23) - 1,
+   RADV_DYNAMIC_PATCH_CONTROL_POINTS = 1ull << 23,
+   RADV_DYNAMIC_RASTERIZER_DISCARD_ENABLE = 1ull << 24,
+   RADV_DYNAMIC_DEPTH_BIAS_ENABLE = 1ull << 25,
+   RADV_DYNAMIC_LOGIC_OP = 1ull << 26,
+   RADV_DYNAMIC_PRIMITIVE_RESTART_ENABLE = 1ull << 27,
+   RADV_DYNAMIC_ALL = (1ull << 28) - 1,
 };
 
 enum radv_cmd_dirty_bits {
@@ -1025,12 +1030,17 @@ enum radv_cmd_dirty_bits {
    RADV_CMD_DIRTY_DYNAMIC_STENCIL_OP = 1ull << 20,
    RADV_CMD_DIRTY_DYNAMIC_VERTEX_INPUT_BINDING_STRIDE = 1ull << 21,
    RADV_CMD_DIRTY_DYNAMIC_FRAGMENT_SHADING_RATE = 1ull << 22,
-   RADV_CMD_DIRTY_DYNAMIC_ALL = (1ull << 23) - 1,
-   RADV_CMD_DIRTY_PIPELINE = 1ull << 23,
-   RADV_CMD_DIRTY_INDEX_BUFFER = 1ull << 24,
-   RADV_CMD_DIRTY_FRAMEBUFFER = 1ull << 25,
-   RADV_CMD_DIRTY_VERTEX_BUFFER = 1ull << 26,
-   RADV_CMD_DIRTY_STREAMOUT_BUFFER = 1ull << 27,
+   RADV_CMD_DIRTY_DYNAMIC_PATCH_CONTROL_POINTS = 1ull << 23,
+   RADV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE = 1ull << 24,
+   RADV_CMD_DIRTY_DYNAMIC_DEPTH_BIAS_ENABLE = 1ull << 25,
+   RADV_CMD_DIRTY_DYNAMIC_LOGIC_OP = 1ull << 26,
+   RADV_CMD_DIRTY_DYNAMIC_PRIMITIVE_RESTART_ENABLE = 1ull << 27,
+   RADV_CMD_DIRTY_DYNAMIC_ALL = (1ull << 28) - 1,
+   RADV_CMD_DIRTY_PIPELINE = 1ull << 28,
+   RADV_CMD_DIRTY_INDEX_BUFFER = 1ull << 29,
+   RADV_CMD_DIRTY_FRAMEBUFFER = 1ull << 30,
+   RADV_CMD_DIRTY_VERTEX_BUFFER = 1ull << 31,
+   RADV_CMD_DIRTY_STREAMOUT_BUFFER = 1ull << 32,
 };
 
 enum radv_cmd_flush_bits {



More information about the mesa-commit mailing list