mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 13:10:10 +01:00
radeonsi: add draw_vbo check for a NULL pixel shader
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
parent
ed95cb3a31
commit
50bb2decf7
3 changed files with 8 additions and 1 deletions
|
|
@ -698,6 +698,7 @@ static void *si_create_rs_state(struct pipe_context *ctx,
|
|||
rs->clamp_fragment_color = state->clamp_fragment_color;
|
||||
rs->flatshade = state->flatshade;
|
||||
rs->sprite_coord_enable = state->sprite_coord_enable;
|
||||
rs->rasterizer_discard = state->rasterizer_discard;
|
||||
rs->pa_sc_line_stipple = state->line_stipple_enable ?
|
||||
S_028A0C_LINE_PATTERN(state->line_stipple_pattern) |
|
||||
S_028A0C_REPEAT_COUNT(state->line_stipple_factor) : 0;
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ struct si_state_rasterizer {
|
|||
bool poly_smooth;
|
||||
bool uses_poly_offset;
|
||||
bool clamp_fragment_color;
|
||||
bool rasterizer_discard;
|
||||
};
|
||||
|
||||
struct si_dsa_stencil_ref_part {
|
||||
|
|
|
|||
|
|
@ -728,6 +728,7 @@ static void si_get_draw_start_count(struct si_context *sctx,
|
|||
void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
|
||||
{
|
||||
struct si_context *sctx = (struct si_context *)ctx;
|
||||
struct si_state_rasterizer *rs = sctx->queued.named.rasterizer;
|
||||
struct pipe_index_buffer ib = {};
|
||||
unsigned mask;
|
||||
|
||||
|
|
@ -735,7 +736,11 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
|
|||
(info->indexed || !info->count_from_stream_output))
|
||||
return;
|
||||
|
||||
if (!sctx->ps_shader.cso || !sctx->vs_shader.cso) {
|
||||
if (!sctx->vs_shader.cso) {
|
||||
assert(0);
|
||||
return;
|
||||
}
|
||||
if (!sctx->ps_shader.cso && (!rs || !rs->rasterizer_discard)) {
|
||||
assert(0);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue