radeonsi: Fix double compilation of shader variants.
Fixes crash in piglit glsl-max-varyings. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Michel Dänzer
parent
c3db19efba
commit
82e38ac91f
@@ -698,6 +698,10 @@ int si_pipe_shader_create(
|
||||
|
||||
dump = debug_get_bool_option("RADEON_DUMP_SHADERS", FALSE);
|
||||
|
||||
assert(shader->shader.noutput == 0);
|
||||
assert(shader->shader.ninterp == 0);
|
||||
assert(shader->shader.ninput == 0);
|
||||
|
||||
memset(&si_shader_ctx, 0, sizeof(si_shader_ctx));
|
||||
radeon_llvm_context_init(&si_shader_ctx.radeon_bld);
|
||||
bld_base = &si_shader_ctx.radeon_bld.soa.bld_base;
|
||||
|
||||
@@ -45,9 +45,6 @@ static void si_pipe_shader_vs(struct pipe_context *ctx, struct si_pipe_shader *s
|
||||
unsigned nparams, i;
|
||||
uint64_t va;
|
||||
|
||||
if (si_pipe_shader_create(ctx, shader))
|
||||
return;
|
||||
|
||||
si_pm4_delete_state(rctx, vs, shader->pm4);
|
||||
pm4 = shader->pm4 = CALLOC_STRUCT(si_pm4_state);
|
||||
|
||||
@@ -106,9 +103,6 @@ static void si_pipe_shader_ps(struct pipe_context *ctx, struct si_pipe_shader *s
|
||||
unsigned spi_baryc_cntl, spi_ps_input_ena;
|
||||
uint64_t va;
|
||||
|
||||
if (si_pipe_shader_create(ctx, shader))
|
||||
return;
|
||||
|
||||
si_pm4_delete_state(rctx, ps, shader->pm4);
|
||||
pm4 = shader->pm4 = CALLOC_STRUCT(si_pm4_state);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user