nir/clone: Expose nir_constant_clone
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 31 Dec 2015 02:44:19 +0000 (18:44 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 23 Mar 2016 22:26:08 +0000 (15:26 -0700)
Reviewed-by: Rob Clark <robclark@gmail.com>
src/compiler/nir/nir.h
src/compiler/nir/nir_clone.c

index 75198e806c4c5c9bf68b147a7b04740f27eeb19f..1e91207509ed619df8d2a083b9621b345e22947c 100644 (file)
@@ -2051,6 +2051,7 @@ void nir_print_instr(const nir_instr *instr, FILE *fp);
 
 nir_shader *nir_shader_clone(void *mem_ctx, const nir_shader *s);
 nir_function_impl *nir_function_impl_clone(const nir_function_impl *fi);
+nir_constant *nir_constant_clone(const nir_constant *c, nir_variable *var);
 
 #ifdef DEBUG
 void nir_validate_shader(nir_shader *shader);
index 7444dfe6e590348920d4f0e1fe45731959b15f86..0ef0289504ed5cb64a8267e9ff078e39be4426df 100644 (file)
@@ -109,8 +109,8 @@ remap_var(clone_state *state, const nir_variable *var)
    return _lookup_ptr(state, var, nir_variable_is_global(var));
 }
 
-static nir_constant *
-clone_constant(clone_state *state, const nir_constant *c, nir_variable *nvar)
+nir_constant *
+nir_constant_clone(const nir_constant *c, nir_variable *nvar)
 {
    nir_constant *nc = ralloc(nvar, nir_constant);
 
@@ -118,7 +118,7 @@ clone_constant(clone_state *state, const nir_constant *c, nir_variable *nvar)
    nc->num_elements = c->num_elements;
    nc->elements = ralloc_array(nvar, nir_constant *, c->num_elements);
    for (unsigned i = 0; i < c->num_elements; i++) {
-      nc->elements[i] = clone_constant(state, c->elements[i], nvar);
+      nc->elements[i] = nir_constant_clone(c->elements[i], nvar);
    }
 
    return nc;
@@ -142,7 +142,7 @@ clone_variable(clone_state *state, const nir_variable *var)
           var->num_state_slots * sizeof(nir_state_slot));
    if (var->constant_initializer) {
       nvar->constant_initializer =
-         clone_constant(state, var->constant_initializer, nvar);
+         nir_constant_clone(var->constant_initializer, nvar);
    }
    nvar->interface_type = var->interface_type;