Lines Matching defs:shader
81 tcs_add_output_reads(nir_shader *shader, uint64_t *read, uint64_t *patches_read)
83 nir_foreach_function(function, shader) {
107 get_variable_io_mask(var, shader->info.stage);
110 get_variable_io_mask(var, shader->info.stage);
119 * Helper for removing unused shader I/O variables, by demoting them to global
134 nir_remove_unused_io_vars(nir_shader *shader,
144 nir_foreach_variable_with_modes_safe(var, shader, mode) {
151 if (shader->info.stage != MESA_SHADER_MESH || var->data.location != VARYING_SLOT_PRIMITIVE_ID)
162 if (!(other_stage & get_variable_io_mask(var, shader->info.stage))) {
164 if (shader->info.stage == MESA_SHADER_MESH &&
165 (shader->info.outputs_read & BITFIELD64_BIT(var->data.location)))
175 nir_function_impl *impl = nir_shader_get_entrypoint(shader);
179 nir_fixup_deref_modes(shader);
301 get_unmoveable_components_masks(nir_shader *shader,
307 nir_foreach_variable_with_modes_safe(var, shader, mode) {
398 remap_slots_and_components(nir_shader *shader, nir_variable_mode mode,
403 const gl_shader_stage stage = shader->info.stage;
410 nir_foreach_variable_with_modes(var, shader, mode) {
502 * better compaction when they are mixed in the shader's source.
578 /* Walk over the shader and populate the varying component info array */
637 /* Walk over the shader and populate the varying component info array
669 /* Something went wrong, the shader interfaces didn't match, so
707 /* Something went wrong, the shader interfaces didn't match, so
1041 replace_varying_input_by_constant_load(nir_shader *shader,
1044 nir_function_impl *impl = nir_shader_get_entrypoint(shader);
1091 replace_duplicate_input(nir_shader *shader, nir_variable *input_var,
1096 nir_function_impl *impl = nir_shader_get_entrypoint(shader);
1227 replace_varying_input_by_uniform_load(nir_shader *shader,
1231 nir_function_impl *impl = nir_shader_get_entrypoint(shader);
1242 uni_var = get_uniform_var_in_consumer(shader, uni_var);
1355 /* TODO: Add support for more shader stage combinations */
1458 sort_varyings(nir_shader *shader, nir_variable_mode mode,
1462 nir_foreach_variable_with_modes_safe(var, shader, mode) {
1469 nir_assign_io_var_locations(nir_shader *shader, nir_variable_mode mode,
1477 sort_varyings(shader, mode, &io_vars);
1604 exec_list_append(&shader->variables, &io_vars);