diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2016-08-24 19:09:57 -0700 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2016-08-25 19:18:24 -0700 |
commit | 93bfa1d7a2e70a72a01c48a04c208845c22f9376 (patch) | |
tree | e15311ebb02be905f41d94d09afb5e5c1ac5ca65 /src/intel/vulkan/anv_pipeline.c | |
parent | 8479b03c5826f32355775d865d99d69c829e65bb (diff) |
nir: Change nir_shader_get_entrypoint to return an impl.
Jason suggested adding an assert(function->impl) here. All callers
of this function actually want ->impl, so I decided just to change
the API.
We also change the nir_lower_io_to_temporaries API here. All but one
caller passed nir_shader_get_entrypoint(), and with the previous commit,
it now uses a nir_function_impl internally. Folding this change in
avoids the need to change it and change it back.
v2: Fix one call I missed in ir3_compiler (caught by Eric).
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/intel/vulkan/anv_pipeline.c')
-rw-r--r-- | src/intel/vulkan/anv_pipeline.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 48d267b918..88f414e023 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -168,7 +168,8 @@ anv_shader_compile_to_nir(struct anv_device *device, nir_propagate_invariant(nir); nir_validate_shader(nir); - nir_lower_io_to_temporaries(entry_point->shader, entry_point, true, false); + nir_lower_io_to_temporaries(entry_point->shader, entry_point->impl, + true, false); nir_lower_system_values(nir); nir_validate_shader(nir); @@ -616,7 +617,7 @@ anv_pipeline_compile_fs(struct anv_pipeline *pipeline, unsigned num_rts = 0; struct anv_pipeline_binding rt_bindings[8]; - nir_function_impl *impl = nir_shader_get_entrypoint(nir)->impl; + nir_function_impl *impl = nir_shader_get_entrypoint(nir); nir_foreach_variable_safe(var, &nir->outputs) { if (var->data.location < FRAG_RESULT_DATA0) continue; |