radeonsi: move VS_STATE.LS_OUT_PATCH_SIZE a few bits higher to make space there
[mesa.git] / src / gallium / drivers / radeonsi / si_state_draw.c
index e43120cf9bac9becc9de4fb6ef07bba45ea8cde3..80f5f7c943cbd14ee4a58d7d026a78327b76b757 100644 (file)
@@ -1789,7 +1789,9 @@ static void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *i
                        return;
        }
 
-       if (unlikely(!sctx->vs_shader.cso ||
+       struct si_shader_selector *vs = sctx->vs_shader.cso;
+       if (unlikely(!vs ||
+                    sctx->num_vertex_elements < vs->num_vs_inputs ||
                     (!sctx->ps_shader.cso && !rs->rasterizer_discard) ||
                     (!!sctx->tes_shader.cso != (prim == PIPE_PRIM_PATCHES)))) {
                assert(0);
@@ -2232,6 +2234,7 @@ si_draw_rectangle(struct blitter_context *blitter,
        /* Don't set per-stage shader pointers for VS. */
        sctx->shader_pointers_dirty &= ~SI_DESCS_SHADER_MASK(VERTEX);
        sctx->vertex_buffer_pointer_dirty = false;
+       sctx->vertex_buffer_user_sgprs_dirty = false;
 
        si_draw_vbo(pipe, &info);
 }