Lines Matching refs:nir

27 #include "compiler/nir/nir_builder.h"
40 nir_shader *nir = nir_load_libclc_shader(64, disk_cache,
42 if (nir == NULL)
46 p_atomic_cmpxchg(&compiler->clc_shader, NULL, nir);
49 return nir;
52 ralloc_free(nir);
128 implement_intel_builtins(nir_shader *nir)
132 nir_foreach_function(func, nir) {
159 nir_shader_preserve_all_metadata(nir);
165 lower_kernel_intrinsics(nir_shader *nir)
167 nir_function_impl *impl = nir_shader_get_entrypoint(nir);
173 nir->num_uniforms += kernel_arg_start;
189 nir_intrinsic_instr_create(nir, nir_intrinsic_load_uniform);
193 nir_intrinsic_set_range(load, nir->num_uniforms);
218 nir_intrinsic_instr_create(nir, nir_intrinsic_load_uniform);
304 nir_shader *nir =
307 nir_validate_shader(nir, "after spirv_to_nir");
308 nir_validate_ssa_dominance(nir, "after spirv_to_nir");
309 ralloc_steal(mem_ctx, nir);
310 nir->info.name = ralloc_strdup(nir, entrypoint_name);
314 nir_foreach_function(function, nir) {
320 nir_print_shader(nir, stderr);
323 NIR_PASS_V(nir, implement_intel_builtins);
324 NIR_PASS_V(nir, nir_lower_libclc, spirv_options.clc_shader);
330 NIR_PASS_V(nir, nir_lower_variable_initializers, nir_var_function_temp);
331 NIR_PASS_V(nir, nir_lower_returns);
332 NIR_PASS_V(nir, nir_inline_functions);
333 NIR_PASS_V(nir, nir_copy_prop);
334 NIR_PASS_V(nir, nir_opt_deref);
337 nir_remove_non_entrypoints(nir);
344 NIR_PASS_V(nir, nir_lower_variable_initializers, ~0);
351 NIR_PASS_V(nir, nir_lower_vec3_to_vec4,
359 NIR_PASS_V(nir, nir_lower_vars_to_explicit_types,
365 brw_preprocess_nir(compiler, nir, NULL);
368 nir_foreach_uniform_variable(var, nir) {
373 kernel->args_size = nir->num_uniforms;
381 nir_foreach_uniform_variable(var, nir) {
386 assert(arg_desc.offset + arg_desc.size <= nir->num_uniforms);
392 NIR_PASS_V(nir, nir_remove_dead_variables, nir_var_all, NULL);
397 nir->global_mem_size = 0;
398 nir->scratch_size = 0;
399 nir->info.shared_size = 0;
400 NIR_PASS_V(nir, nir_lower_vars_to_explicit_types,
404 if (nir->constant_data_size > 0) {
405 assert(nir->constant_data == NULL);
406 nir->constant_data = rzalloc_size(nir, nir->constant_data_size);
407 nir_gather_explicit_io_initializers(nir, nir->constant_data,
408 nir->constant_data_size,
414 nir_foreach_function(function, nir) {
420 nir_print_shader(nir, stderr);
423 NIR_PASS_V(nir, nir_lower_memcpy);
425 NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_mem_constant,
428 NIR_PASS_V(nir, nir_lower_explicit_io, nir_var_uniform,
431 NIR_PASS_V(nir, nir_lower_explicit_io,
436 NIR_PASS_V(nir, nir_lower_frexp);
437 NIR_PASS_V(nir, nir_lower_convert_alu_types, NULL);
439 NIR_PASS_V(nir, brw_nir_lower_cs_intrinsics);
440 NIR_PASS_V(nir, lower_kernel_intrinsics);
445 kernel->prog_data.base.nr_params = DIV_ROUND_UP(nir->num_uniforms, 4);
448 .nir = nir,