• Home
  • Raw
  • Download

Lines Matching refs:shader

28 set_io_mask(nir_shader *shader, nir_variable *var, int offset, int len,  in set_io_mask()  argument
53 shader->info.patch_inputs_read |= bitfield; in set_io_mask()
55 shader->info.inputs_read |= bitfield; in set_io_mask()
57 if (shader->info.stage == MESA_SHADER_FRAGMENT) { in set_io_mask()
58 shader->info.fs.uses_sample_qualifier |= var->data.sample; in set_io_mask()
64 shader->info.patch_outputs_read |= bitfield; in set_io_mask()
66 shader->info.outputs_read |= bitfield; in set_io_mask()
70 shader->info.patch_outputs_written |= bitfield; in set_io_mask()
72 shader->info.outputs_written |= bitfield; in set_io_mask()
78 shader->info.outputs_read |= bitfield; in set_io_mask()
88 mark_whole_variable(nir_shader *shader, nir_variable *var, bool is_output_read) in mark_whole_variable() argument
92 if (nir_is_per_vertex_io(var, shader->info.stage)) { in mark_whole_variable()
101 set_io_mask(shader, var, 0, slots, is_output_read); in mark_whole_variable()
137 try_mask_partial_io(nir_shader *shader, nir_deref_var *deref, bool is_output_read) in try_mask_partial_io() argument
142 if (nir_is_per_vertex_io(var, shader->info.stage)) { in try_mask_partial_io()
199 set_io_mask(shader, var, offset, elem_width, is_output_read); in try_mask_partial_io()
204 gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader) in gather_intrinsic_info() argument
209 assert(shader->info.stage == MESA_SHADER_FRAGMENT); in gather_intrinsic_info()
210 shader->info.fs.uses_discard = true; in gather_intrinsic_info()
227 if (!try_mask_partial_io(shader, instr->variables[0], is_output_read)) in gather_intrinsic_info()
228 mark_whole_variable(shader, var, is_output_read); in gather_intrinsic_info()
232 if (shader->info.stage == MESA_SHADER_VERTEX && in gather_intrinsic_info()
237 shader->info.double_inputs_read |= BITFIELD64_BIT(idx); in gather_intrinsic_info()
265 shader->info.system_values_read |= in gather_intrinsic_info()
271 assert(shader->info.stage == MESA_SHADER_GEOMETRY); in gather_intrinsic_info()
272 shader->info.gs.uses_end_primitive = 1; in gather_intrinsic_info()
281 gather_tex_info(nir_tex_instr *instr, nir_shader *shader) in gather_tex_info() argument
285 shader->info.uses_texture_gather = true; in gather_tex_info()
290 shader->info.textures_used_by_txf |= in gather_tex_info()
300 gather_alu_info(nir_alu_instr *instr, nir_shader *shader) in gather_alu_info() argument
305 shader->info.uses_fddx_fddy = true; in gather_alu_info()
313 gather_info_block(nir_block *block, nir_shader *shader) in gather_info_block() argument
318 gather_alu_info(nir_instr_as_alu(instr), shader); in gather_info_block()
321 gather_intrinsic_info(nir_instr_as_intrinsic(instr), shader); in gather_info_block()
324 gather_tex_info(nir_instr_as_tex(instr), shader); in gather_info_block()
336 nir_shader_gather_info(nir_shader *shader, nir_function_impl *entrypoint) in nir_shader_gather_info() argument
338 shader->info.num_textures = 0; in nir_shader_gather_info()
339 shader->info.num_images = 0; in nir_shader_gather_info()
340 nir_foreach_variable(var, &shader->uniforms) { in nir_shader_gather_info()
349 shader->info.num_images += count; in nir_shader_gather_info()
351 shader->info.num_textures += count; in nir_shader_gather_info()
355 shader->info.inputs_read = 0; in nir_shader_gather_info()
356 shader->info.outputs_written = 0; in nir_shader_gather_info()
357 shader->info.outputs_read = 0; in nir_shader_gather_info()
358 shader->info.patch_outputs_read = 0; in nir_shader_gather_info()
359 shader->info.double_inputs_read = 0; in nir_shader_gather_info()
360 shader->info.patch_inputs_read = 0; in nir_shader_gather_info()
361 shader->info.patch_outputs_written = 0; in nir_shader_gather_info()
362 shader->info.system_values_read = 0; in nir_shader_gather_info()
363 if (shader->info.stage == MESA_SHADER_FRAGMENT) { in nir_shader_gather_info()
364 shader->info.fs.uses_sample_qualifier = false; in nir_shader_gather_info()
367 gather_info_block(block, shader); in nir_shader_gather_info()