nvk: Flush more state on VI_BINDINGS_VALID dirty

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
This commit is contained in:
Faith Ekstrand
2023-07-27 14:12:05 -05:00
committed by Marge Bot
parent 9345b95346
commit d6e347c82d
+4 -2
View File
@@ -853,7 +853,8 @@ nvk_flush_vi_state(struct nvk_cmd_buffer *cmd)
struct nv_push *p = nvk_cmd_buffer_push(cmd, 256);
if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_VI)) {
if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_VI) ||
BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_VI_BINDINGS_VALID)) {
u_foreach_bit(a, dyn->vi->attributes_valid) {
const struct nvk_va_format *fmt =
nvk_get_va_format(pdev, dyn->vi->attributes[a].format);
@@ -876,7 +877,8 @@ nvk_flush_vi_state(struct nvk_cmd_buffer *cmd)
}
}
if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_VI_BINDING_STRIDES)) {
if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_VI_BINDINGS_VALID) ||
BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_VI_BINDING_STRIDES)) {
for (uint32_t b = 0; b < 32; b++) {
P_IMMD(p, NV9097, SET_VERTEX_STREAM_A_FORMAT(b), {
.stride = dyn->vi_binding_strides[b],