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 <foo.h> } '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 <emil.l.velikov@gmail.com> Reported-by: Gottfried Haider <gottfried.haider@gmail.com> Tested-by: Gottfried Haider <gottfried.haider@gmail.com> Reviewed-by: Timothy Arceri <t_arceri@yahoo.com.au>
This commit is contained in:
@@ -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 \
|
||||
|
@@ -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)
|
||||
{
|
Reference in New Issue
Block a user