diff options
-rw-r--r-- | src/gallium/drivers/radeonsi/radeonsi_shader.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/radeonsi/radeonsi_shader.h | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c index f9424360ba5..bea2895bf0c 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_shader.c +++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c @@ -589,6 +589,7 @@ static void si_llvm_emit_epilogue(struct lp_build_tgsi_context * bld_base) switch (d->Declaration.File) { case TGSI_FILE_INPUT: i = shader->ninput++; + assert(i < Elements(shader->input)); shader->input[i].name = d->Semantic.Name; shader->input[i].sid = d->Semantic.Index; shader->input[i].interpolate = d->Interp.Interpolate; @@ -597,6 +598,7 @@ static void si_llvm_emit_epilogue(struct lp_build_tgsi_context * bld_base) case TGSI_FILE_OUTPUT: i = shader->noutput++; + assert(i < Elements(shader->output)); shader->output[i].name = d->Semantic.Name; shader->output[i].sid = d->Semantic.Index; shader->output[i].interpolate = d->Interp.Interpolate; diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.h b/src/gallium/drivers/radeonsi/radeonsi_shader.h index 1552dc2df54..0fbd601ad34 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_shader.h +++ b/src/gallium/drivers/radeonsi/radeonsi_shader.h @@ -101,10 +101,10 @@ struct si_pipe_shader_selector { struct si_shader { unsigned ninput; - struct si_shader_io input[32]; + struct si_shader_io input[40]; unsigned noutput; - struct si_shader_io output[32]; + struct si_shader_io output[40]; unsigned ninterp; bool uses_kill; |