nir/lower_samplers: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:

committed by
Jason Ekstrand

parent
f4ebff89e4
commit
26b4c9ee15
@@ -152,39 +152,19 @@ lower_sampler(nir_tex_instr *instr, const struct gl_shader_program *shader_progr
|
||||
instr->texture = NULL;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
nir_builder builder;
|
||||
const struct gl_shader_program *shader_program;
|
||||
gl_shader_stage stage;
|
||||
} lower_state;
|
||||
|
||||
static bool
|
||||
lower_block_cb(nir_block *block, void *_state)
|
||||
{
|
||||
lower_state *state = (lower_state *) _state;
|
||||
|
||||
nir_foreach_instr(block, instr) {
|
||||
if (instr->type == nir_instr_type_tex) {
|
||||
nir_tex_instr *tex_instr = nir_instr_as_tex(instr);
|
||||
lower_sampler(tex_instr, state->shader_program, state->stage,
|
||||
&state->builder);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void
|
||||
lower_impl(nir_function_impl *impl, const struct gl_shader_program *shader_program,
|
||||
gl_shader_stage stage)
|
||||
{
|
||||
lower_state state;
|
||||
nir_builder b;
|
||||
nir_builder_init(&b, impl);
|
||||
|
||||
nir_builder_init(&state.builder, impl);
|
||||
state.shader_program = shader_program;
|
||||
state.stage = stage;
|
||||
|
||||
nir_foreach_block_call(impl, lower_block_cb, &state);
|
||||
nir_foreach_block(block, impl) {
|
||||
nir_foreach_instr(block, instr) {
|
||||
if (instr->type == nir_instr_type_tex)
|
||||
lower_sampler(nir_instr_as_tex(instr), shader_program, stage, &b);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user