diff options
author | Dave Airlie <airlied@redhat.com> | 2018-05-16 13:46:40 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2018-06-05 14:44:30 +1000 |
commit | 7486a10e3627e1b8aa2de413d5758e36308ea616 (patch) | |
tree | 4d6c08db49edaa7541057cf066ad928f13c93074 | |
parent | ba227c948946f2786f20a0bec859dea09ea0e66f (diff) |
handle multidim ubos
-rw-r--r-- | src/vrend_shader.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vrend_shader.c b/src/vrend_shader.c index a88a7c0..4f99b3e 100644 --- a/src/vrend_shader.c +++ b/src/vrend_shader.c @@ -912,7 +912,7 @@ iter_declaration(struct tgsi_iterate_context *iter, ctx->sviews_used = true; break; case TGSI_FILE_CONSTANT: - if (decl->Declaration.Dimension) { + if (decl->Declaration.Dimension && decl->Dim.Index2D != 0) { if (ctx->num_ubo >= ARRAY_SIZE(ctx->ubo_idx)) { fprintf(stderr, "Number of uniforms exceeded, max is %lu\n", ARRAY_SIZE(ctx->ubo_idx)); return FALSE; @@ -2252,7 +2252,7 @@ get_source_info(struct dump_ctx *ctx, } else if (src->Register.File == TGSI_FILE_CONSTANT) { const char *cname = tgsi_proc_to_prefix(ctx->prog_type); int dim = 0; - if (src->Register.Dimension) { + if (src->Register.Dimension && src->Dimension.Index != 0) { dim = src->Dimension.Index; if (src->Dimension.Indirect) { assert(src->DimIndirect.File == TGSI_FILE_ADDRESS); |