Mesa (main): anv: introduce new dynamic states
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jun 4 13:16:29 UTC 2021
Module: Mesa
Branch: main
Commit: 284290a876a87581a088f7c242f9984fc6a8537d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=284290a876a87581a088f7c242f9984fc6a8537d
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Mon May 3 10:47:39 2021 +0300
anv: introduce new dynamic states
These will be used for VK_EXT_extended_dynamic_state2.
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10366>
---
src/intel/vulkan/anv_private.h | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 69487f4e3cc..67d2ebd3765 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -2241,6 +2241,10 @@ enum anv_cmd_dirty_bits {
ANV_CMD_DIRTY_DYNAMIC_SAMPLE_LOCATIONS = 1 << 24, /* VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT */
ANV_CMD_DIRTY_DYNAMIC_COLOR_BLEND_STATE = 1 << 25, /* VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT */
ANV_CMD_DIRTY_DYNAMIC_SHADING_RATE = 1 << 26, /* VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR */
+ ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE = 1 << 27, /* VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT */
+ ANV_CMD_DIRTY_DYNAMIC_DEPTH_BIAS_ENABLE = 1 << 28, /* VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT */
+ ANV_CMD_DIRTY_DYNAMIC_LOGIC_OP = 1 << 29, /* VK_DYNAMIC_STATE_LOGIC_OP_EXT */
+ ANV_CMD_DIRTY_DYNAMIC_PRIMITIVE_RESTART_ENABLE = 1 << 30, /* VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT */
};
typedef uint32_t anv_cmd_dirty_mask_t;
@@ -2267,7 +2271,11 @@ typedef uint32_t anv_cmd_dirty_mask_t;
ANV_CMD_DIRTY_DYNAMIC_STENCIL_OP | \
ANV_CMD_DIRTY_DYNAMIC_SAMPLE_LOCATIONS | \
ANV_CMD_DIRTY_DYNAMIC_COLOR_BLEND_STATE | \
- ANV_CMD_DIRTY_DYNAMIC_SHADING_RATE)
+ ANV_CMD_DIRTY_DYNAMIC_SHADING_RATE | \
+ ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE | \
+ ANV_CMD_DIRTY_DYNAMIC_DEPTH_BIAS_ENABLE | \
+ ANV_CMD_DIRTY_DYNAMIC_LOGIC_OP | \
+ ANV_CMD_DIRTY_DYNAMIC_PRIMITIVE_RESTART_ENABLE)
static inline enum anv_cmd_dirty_bits
anv_cmd_dirty_bit_for_vk_dynamic_state(VkDynamicState vk_state)
@@ -2321,6 +2329,14 @@ anv_cmd_dirty_bit_for_vk_dynamic_state(VkDynamicState vk_state)
return ANV_CMD_DIRTY_DYNAMIC_COLOR_BLEND_STATE;
case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR:
return ANV_CMD_DIRTY_DYNAMIC_SHADING_RATE;
+ case VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT:
+ return ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE;
+ case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT:
+ return ANV_CMD_DIRTY_DYNAMIC_DEPTH_BIAS_ENABLE;
+ case VK_DYNAMIC_STATE_LOGIC_OP_EXT:
+ return ANV_CMD_DIRTY_DYNAMIC_LOGIC_OP;
+ case VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT:
+ return ANV_CMD_DIRTY_DYNAMIC_PRIMITIVE_RESTART_ENABLE;
default:
assert(!"Unsupported dynamic state");
return 0;
More information about the mesa-commit
mailing list