mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
r600/shader: allow multi-dimension arrays for tcs/tes inputs/outputs.
This just allows multi-dim arrays to be processed. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
30d56d1c00
commit
92fbf856f4
1 changed files with 10 additions and 2 deletions
|
|
@ -393,10 +393,16 @@ static int tgsi_is_supported(struct r600_shader_ctx *ctx)
|
|||
case TGSI_FILE_CONSTANT:
|
||||
break;
|
||||
case TGSI_FILE_INPUT:
|
||||
if (ctx->type == TGSI_PROCESSOR_GEOMETRY)
|
||||
if (ctx->type == TGSI_PROCESSOR_GEOMETRY ||
|
||||
ctx->type == TGSI_PROCESSOR_TESS_CTRL ||
|
||||
ctx->type == TGSI_PROCESSOR_TESS_EVAL)
|
||||
break;
|
||||
case TGSI_FILE_OUTPUT:
|
||||
if (ctx->type == TGSI_PROCESSOR_TESS_CTRL)
|
||||
break;
|
||||
default:
|
||||
R600_ERR("unsupported src %d (dimension %d)\n", j,
|
||||
R600_ERR("unsupported src %d (file %d, dimension %d)\n", j,
|
||||
i->Src[j].Register.File,
|
||||
i->Src[j].Register.Dimension);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
@ -404,6 +410,8 @@ static int tgsi_is_supported(struct r600_shader_ctx *ctx)
|
|||
}
|
||||
for (j = 0; j < i->Instruction.NumDstRegs; j++) {
|
||||
if (i->Dst[j].Register.Dimension) {
|
||||
if (ctx->type == TGSI_PROCESSOR_TESS_CTRL)
|
||||
continue;
|
||||
R600_ERR("unsupported dst (dimension)\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue