summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2016-08-24 19:15:53 -0700
committerKenneth Graunke <kenneth@whitecape.org>2016-08-25 19:18:11 -0700
commit8479b03c5826f32355775d865d99d69c829e65bb (patch)
tree5104c8650c6e8862e62007f2ae55854f37f252ea /src/compiler/nir
parentda85b5a9f1b22a8f6cae1a3b335dc5f31011bcb1 (diff)
downloadexternal_mesa3d-8479b03c5826f32355775d865d99d69c829e65bb.zip
external_mesa3d-8479b03c5826f32355775d865d99d69c829e65bb.tar.gz
external_mesa3d-8479b03c5826f32355775d865d99d69c829e65bb.tar.bz2
nir: Make nir_lower_io_to_temporaries store an impl internally.
This changes the pass internals to work with a nir_function_impl directly rather than a nir_function. The next patch will change the API. v2: Rebase after framebuffer fetch landed. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Diffstat (limited to 'src/compiler/nir')
-rw-r--r--src/compiler/nir/nir_lower_io_to_temporaries.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/compiler/nir/nir_lower_io_to_temporaries.c b/src/compiler/nir/nir_lower_io_to_temporaries.c
index c8f94ff..8cbf683 100644
--- a/src/compiler/nir/nir_lower_io_to_temporaries.c
+++ b/src/compiler/nir/nir_lower_io_to_temporaries.c
@@ -34,7 +34,7 @@
struct lower_io_state {
nir_shader *shader;
- nir_function *entrypoint;
+ nir_function_impl *entrypoint;
struct exec_list old_outputs;
struct exec_list old_inputs;
};
@@ -93,7 +93,7 @@ emit_output_copies_impl(struct lower_io_state *state, nir_function_impl *impl)
}
}
}
- } else if (impl->function == state->entrypoint) {
+ } else if (impl == state->entrypoint) {
nir_cursor cursor = nir_before_block(nir_start_block(impl));
emit_copies(cursor, state->shader, &state->old_outputs,
&state->shader->outputs);
@@ -114,7 +114,7 @@ emit_output_copies_impl(struct lower_io_state *state, nir_function_impl *impl)
static void
emit_input_copies_impl(struct lower_io_state *state, nir_function_impl *impl)
{
- if (impl->function == state->entrypoint) {
+ if (impl == state->entrypoint) {
nir_cursor cursor = nir_before_block(nir_start_block(impl));
emit_copies(cursor, state->shader, &state->old_inputs,
&state->shader->inputs);
@@ -157,7 +157,7 @@ nir_lower_io_to_temporaries(nir_shader *shader, nir_function *entrypoint,
return;
state.shader = shader;
- state.entrypoint = entrypoint;
+ state.entrypoint = entrypoint->impl;
if (inputs)
exec_list_move_nodes_to(&shader->inputs, &state.old_inputs);