From: Nicolai Hähnle <nicolai.haeh...@amd.com> --- src/compiler/glsl/ir_print_visitor.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/compiler/glsl/ir_print_visitor.cpp b/src/compiler/glsl/ir_print_visitor.cpp index fc01be9..c238c16 100644 --- a/src/compiler/glsl/ir_print_visitor.cpp +++ b/src/compiler/glsl/ir_print_visitor.cpp @@ -158,40 +158,44 @@ print_type(FILE *f, const glsl_type *t) void ir_print_visitor::visit(ir_rvalue *) { fprintf(f, "error"); } void ir_print_visitor::visit(ir_variable *ir) { fprintf(f, "(declare "); - char loc[256] = {0}; + char loc[32] = {0}; if (ir->data.location != -1) snprintf(loc, sizeof(loc), "location=%i ", ir->data.location); + char component[32] = {0}; + if (ir->data.explicit_component) + snprintf(component, sizeof(component), "component=%i ", ir->data.location_frac); + const char *const cent = (ir->data.centroid) ? "centroid " : ""; const char *const samp = (ir->data.sample) ? "sample " : ""; const char *const patc = (ir->data.patch) ? "patch " : ""; const char *const inv = (ir->data.invariant) ? "invariant " : ""; const char *const prec = (ir->data.precise) ? "precise " : ""; const char *const mode[] = { "", "uniform ", "shader_storage ", "shader_shared ", "shader_in ", "shader_out ", "in ", "out ", "inout ", "const_in ", "sys ", "temporary " }; STATIC_ASSERT(ARRAY_SIZE(mode) == ir_var_mode_count); const char *const stream [] = {"", "stream1 ", "stream2 ", "stream3 "}; const char *const interp[] = { "", "smooth", "flat", "noperspective" }; STATIC_ASSERT(ARRAY_SIZE(interp) == INTERP_MODE_COUNT); - fprintf(f, "(%s%s%s%s%s%s%s%s%s) ", - loc, cent, samp, patc, inv, prec, mode[ir->data.mode], + fprintf(f, "(%s%s%s%s%s%s%s%s%s%s) ", + loc, component, cent, samp, patc, inv, prec, mode[ir->data.mode], stream[ir->data.stream], interp[ir->data.interpolation]); print_type(f, ir->type); fprintf(f, " %s)", unique_name(ir)); } void ir_print_visitor::visit(ir_function_signature *ir) { -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev