[Mesa-dev] [PATCH] glsl: Fix indent in dump code
tournier.elie
tournier.elie at gmail.com
Wed Mar 8 14:56:49 UTC 2017
Right.
But did we generate lots of files w/ this method?
I only files I know are udivmod64.h and builtin_int64.h that you
generated for ARB_gpu_shader_int64. And these files are not impacted.
On 7 March 2017 at 20:23, Ian Romanick <idr at freedesktop.org> wrote:
> Since this will affect generated code that is tracked in GIT, a second
> patch should regenerate all those files. Otherwise the next patch that
> causes those files to be regenerated will include a bunch of spurious
> changes.
>
> This is one of the (very strong) arguments against this sort of
> architecture. :(
>
> On 03/06/2017 07:27 AM, Elie Tournier wrote:
>> From: Elie Tournier <tournier.elie at gmail.com>
>>
>> Signed-off-by: Elie Tournier <elie.tournier at collabora.com>
>> ---
>> On an other thread [1], we discovered than the GLSL compiler have some trouble to indent correctly the dump IR.
>>
>> I don't have git access, please push it for me.
>>
>> [1] https://lists.freedesktop.org/archives/mesa-dev/2017-March/146518.html
>> ---
>> src/compiler/glsl/ir_builder_print_visitor.cpp | 14 +++++++-------
>> 1 file changed, 7 insertions(+), 7 deletions(-)
>>
>> diff --git a/src/compiler/glsl/ir_builder_print_visitor.cpp b/src/compiler/glsl/ir_builder_print_visitor.cpp
>> index 825dbe148e..02f15e74ee 100644
>> --- a/src/compiler/glsl/ir_builder_print_visitor.cpp
>> +++ b/src/compiler/glsl/ir_builder_print_visitor.cpp
>> @@ -372,17 +372,17 @@ ir_builder_print_visitor::visit(ir_constant *ir)
>> switch (ir->type->base_type) {
>> case GLSL_TYPE_UINT:
>> if (ir->value.u[i] != 0)
>> - print_without_indent("r%04X_data.u[%u] = %u;\n",
>> + print_with_indent("r%04X_data.u[%u] = %u;\n",
>> my_index, i, ir->value.u[i]);
>> break;
>> case GLSL_TYPE_INT:
>> if (ir->value.i[i] != 0)
>> - print_without_indent("r%04X_data.i[%u] = %i;\n",
>> + print_with_indent("r%04X_data.i[%u] = %i;\n",
>> my_index, i, ir->value.i[i]);
>> break;
>> case GLSL_TYPE_FLOAT:
>> if (ir->value.u[i] != 0)
>> - print_without_indent("r%04X_data.u[%u] = 0x%08x; /* %f */\n",
>> + print_with_indent("r%04X_data.u[%u] = 0x%08x; /* %f */\n",
>> my_index,
>> i,
>> ir->value.u[i],
>> @@ -395,27 +395,27 @@ ir_builder_print_visitor::visit(ir_constant *ir)
>>
>> memcpy(&v, &ir->value.d[i], sizeof(v));
>> if (v != 0)
>> - print_without_indent("r%04X_data.u64[%u] = 0x%016" PRIx64 "; /* %g */\n",
>> + print_with_indent("r%04X_data.u64[%u] = 0x%016" PRIx64 "; /* %g */\n",
>> my_index, i, v, ir->value.d[i]);
>> break;
>> }
>> case GLSL_TYPE_UINT64:
>> if (ir->value.u64[i] != 0)
>> - print_without_indent("r%04X_data.u64[%u] = %" PRIu64 ";\n",
>> + print_with_indent("r%04X_data.u64[%u] = %" PRIu64 ";\n",
>> my_index,
>> i,
>> ir->value.u64[i]);
>> break;
>> case GLSL_TYPE_INT64:
>> if (ir->value.i64[i] != 0)
>> - print_without_indent("r%04X_data.i64[%u] = %" PRId64 ";\n",
>> + print_with_indent("r%04X_data.i64[%u] = %" PRId64 ";\n",
>> my_index,
>> i,
>> ir->value.i64[i]);
>> break;
>> case GLSL_TYPE_BOOL:
>> if (ir->value.u[i] != 0)
>> - print_without_indent("r%04X_data.u[%u] = 1;\n", my_index, i);
>> + print_with_indent("r%04X_data.u[%u] = 1;\n", my_index, i);
>> break;
>> default:
>> unreachable("Invalid constant type");
>>
>
More information about the mesa-dev
mailing list