vulkan: Input assembly and depth/stencil can also be fully dynamic
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696>
This commit is contained in:
parent
ceccbc01f5
commit
0415d66c97
|
@ -106,9 +106,25 @@ fully_dynamic_state_groups(const BITSET_WORD *dynamic)
|
|||
if (BITSET_TEST(dynamic, MESA_VK_DYNAMIC_VI))
|
||||
groups |= MESA_VK_GRAPHICS_STATE_VERTEX_INPUT_BIT;
|
||||
|
||||
if (BITSET_TEST(dynamic, MESA_VK_DYNAMIC_IA_PRIMITIVE_TOPOLOGY) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_IA_PRIMITIVE_RESTART_ENABLE))
|
||||
groups |= MESA_VK_GRAPHICS_STATE_INPUT_ASSEMBLY_BIT;
|
||||
|
||||
if (BITSET_TEST(dynamic, MESA_VK_DYNAMIC_FSR))
|
||||
groups |= MESA_VK_GRAPHICS_STATE_FRAGMENT_SHADING_RATE_BIT;
|
||||
|
||||
if (BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_DEPTH_TEST_ENABLE) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_DEPTH_WRITE_ENABLE) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_DEPTH_COMPARE_OP) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_DEPTH_BOUNDS_TEST_ENABLE) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_DEPTH_BOUNDS_TEST_BOUNDS) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_STENCIL_TEST_ENABLE) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_STENCIL_OP) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_STENCIL_COMPARE_MASK) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_STENCIL_WRITE_MASK) &&
|
||||
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_DS_STENCIL_REFERENCE))
|
||||
groups |= MESA_VK_GRAPHICS_STATE_DEPTH_STENCIL_BIT;
|
||||
|
||||
return groups;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue