memcpy(&state->meta.descriptor_state, &state->descriptor_state,
sizeof(state->descriptor_state));
}
+
+ /* FIXME: if we keep track of wether we have bound any push constant state
+ * at all we could restruct this only to cases where it is actually
+ * necessary.
+ */
+ memcpy(state->meta.push_constants, cmd_buffer->push_constants_data,
+ sizeof(state->meta.push_constants));
}
/* This restores command buffer state after a meta operation
state->descriptor_state.valid = 0;
}
+ memcpy(cmd_buffer->push_constants_data, state->meta.push_constants,
+ sizeof(state->meta.push_constants));
+
state->meta.pipeline = VK_NULL_HANDLE;
state->meta.framebuffer = VK_NULL_HANDLE;
state->meta.pass = VK_NULL_HANDLE;
struct v3dv_dynamic_state dynamic;
struct v3dv_descriptor_state descriptor_state;
+
+ uint32_t push_constants[MAX_PUSH_CONSTANTS_SIZE / 4];
} meta;
/* Command buffer state for queries */