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/compiler/nir/nir.h | |
parent | 8479b03c5826f32355775d865d99d69c829e65bb (diff) | |
download | external_mesa3d-93bfa1d7a2e70a72a01c48a04c208845c22f9376.zip external_mesa3d-93bfa1d7a2e70a72a01c48a04c208845c22f9376.tar.gz external_mesa3d-93bfa1d7a2e70a72a01c48a04c208845c22f9376.tar.bz2 |
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/compiler/nir/nir.h')
-rw-r--r-- | src/compiler/nir/nir.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 1407b2d..d0dfb0d 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -1902,7 +1902,7 @@ typedef struct nir_shader { gl_shader_stage stage; } nir_shader; -static inline nir_function * +static inline nir_function_impl * nir_shader_get_entrypoint(nir_shader *shader) { assert(exec_list_length(&shader->functions) == 1); @@ -1910,7 +1910,8 @@ nir_shader_get_entrypoint(nir_shader *shader) nir_function *func = exec_node_data(nir_function, func_node, node); assert(func->return_type == glsl_void_type()); assert(func->num_params == 0); - return func; + assert(func->impl); + return func->impl; } #define nir_foreach_function(func, shader) \ @@ -2378,7 +2379,8 @@ bool nir_lower_indirect_derefs(nir_shader *shader, nir_variable_mode modes); bool nir_lower_locals_to_regs(nir_shader *shader); -void nir_lower_io_to_temporaries(nir_shader *shader, nir_function *entrypoint, +void nir_lower_io_to_temporaries(nir_shader *shader, + nir_function_impl *entrypoint, bool outputs, bool inputs); void nir_shader_gather_info(nir_shader *shader, nir_function_impl *entrypoint); |