glsl: print locations of variables

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Marek Olšák
2015-03-19 23:28:25 +01:00
parent 797f4eacea
commit 2f86c22e75

View File

@@ -161,6 +161,10 @@ void ir_print_visitor::visit(ir_variable *ir)
{
fprintf(f, "(declare ");
char loc[256] = {0};
if (ir->data.location != -1)
snprintf(loc, sizeof(loc), "location=%i ", ir->data.location);
const char *const cent = (ir->data.centroid) ? "centroid " : "";
const char *const samp = (ir->data.sample) ? "sample " : "";
const char *const inv = (ir->data.invariant) ? "invariant " : "";
@@ -172,8 +176,8 @@ void ir_print_visitor::visit(ir_variable *ir)
const char *const interp[] = { "", "smooth", "flat", "noperspective" };
STATIC_ASSERT(ARRAY_SIZE(interp) == INTERP_QUALIFIER_COUNT);
fprintf(f, "(%s%s%s%s%s%s) ",
cent, samp, inv, mode[ir->data.mode],
fprintf(f, "(%s%s%s%s%s%s%s) ",
loc, cent, samp, inv, mode[ir->data.mode],
stream[ir->data.stream],
interp[ir->data.interpolation]);