From de7ffdb38343b7f9292184ca827987de9852c80c Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Thu, 17 Sep 2015 16:12:17 +0100 Subject: [PATCH] nir: rename nir_lower_samplers.c{pp,} With the only C++ function having its own wrapper we can 'demote' this file to a normal C one. This allows us to get rid of extern C { #include } 'hacks'. Plus some of the headers may use C99 initializers, which are not supported by the ISO standard. This may cause build issue on incremental builds. If so run the following: sed -i -e 's|samplers\.cpp|samplers.c|' src/glsl/nir/.deps/nir_lower_samplers.Plo Fixes: ef8eebc6ad5(nir: support indirect indexing samplers in struct arrays) Signed-off-by: Emil Velikov Reported-by: Gottfried Haider Tested-by: Gottfried Haider Reviewed-by: Timothy Arceri --- src/glsl/Makefile.sources | 2 +- .../nir/{nir_lower_samplers.cpp => nir_lower_samplers.c} | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) rename src/glsl/nir/{nir_lower_samplers.cpp => nir_lower_samplers.c} (98%) diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources index 1aaa062adea..f7c69f4fe3f 100644 --- a/src/glsl/Makefile.sources +++ b/src/glsl/Makefile.sources @@ -43,7 +43,7 @@ NIR_FILES = \ nir/nir_lower_io.c \ nir/nir_lower_outputs_to_temporaries.c \ nir/nir_lower_phis_to_scalar.c \ - nir/nir_lower_samplers.cpp \ + nir/nir_lower_samplers.c \ nir/nir_lower_system_values.c \ nir/nir_lower_tex.c \ nir/nir_lower_to_source_mods.c \ diff --git a/src/glsl/nir/nir_lower_samplers.cpp b/src/glsl/nir/nir_lower_samplers.c similarity index 98% rename from src/glsl/nir/nir_lower_samplers.cpp rename to src/glsl/nir/nir_lower_samplers.c index c8e1faa0334..58ea0db4e0f 100644 --- a/src/glsl/nir/nir_lower_samplers.cpp +++ b/src/glsl/nir/nir_lower_samplers.c @@ -29,12 +29,10 @@ #include "program/hash_table.h" #include "ir_uniform.h" -extern "C" { #include "main/compiler.h" #include "main/mtypes.h" #include "program/prog_parameter.h" #include "program/program.h" -} /* Calculate the sampler index based on array indicies and also * calculate the base uniform location for struct members. @@ -78,7 +76,7 @@ calc_sampler_offsets(nir_deref *tail, nir_tex_instr *instr, case nir_deref_type_struct: { nir_deref_struct *deref_struct = nir_deref_as_struct(tail->child); - *location += tail->type->record_location_offset(deref_struct->index); + *location += glsl_get_record_location_offset(tail->type, deref_struct->index); calc_sampler_offsets(tail->child, instr, array_elements, indirect, b, location); break; @@ -179,7 +177,7 @@ lower_impl(nir_function_impl *impl, const struct gl_shader_program *shader_progr nir_foreach_block(impl, lower_block_cb, &state); } -extern "C" void +void nir_lower_samplers(nir_shader *shader, const struct gl_shader_program *shader_program) { -- 2.30.2