Lines Matching refs:instr

318 nir_intrinsic_writes_external_memory(const nir_intrinsic_instr *instr)
320 switch (instr->intrinsic) {
458 return nir_deref_mode_may_be(nir_src_as_deref(instr->src[0]),
467 gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader,
473 if (nir_intrinsic_infos[instr->intrinsic].index_map[NIR_INTRINSIC_IO_SEMANTICS] > 0) {
474 nir_io_semantics semantics = nir_intrinsic_io_semantics(instr);
480 instr->intrinsic == nir_intrinsic_load_input) ||
482 (instr->intrinsic == nir_intrinsic_load_output ||
483 instr->intrinsic == nir_intrinsic_store_output)));
500 switch (instr->intrinsic) {
527 nir_deref_instr *deref = nir_src_as_deref(instr->src[0]);
533 instr->intrinsic == nir_intrinsic_load_deref)
550 if (nir_intrinsic_writes_external_memory(instr))
555 nir_deref_instr *deref = nir_src_as_deref(instr->src[0]);
572 instr->intrinsic == nir_intrinsic_load_input) {
574 if (!nir_src_is_const(*nir_get_io_offset_src(instr)))
579 if (!nir_src_is_const(*nir_get_io_offset_src(instr))) {
586 instr->intrinsic == nir_intrinsic_load_per_vertex_input &&
587 !src_is_invocation_id(nir_get_io_arrayed_index_src(instr)))
595 instr->intrinsic == nir_intrinsic_load_output) {
597 if (!nir_src_is_const(*nir_get_io_offset_src(instr)))
602 if (!nir_src_is_const(*nir_get_io_offset_src(instr))) {
609 instr->intrinsic == nir_intrinsic_load_per_vertex_output &&
610 !src_is_invocation_id(nir_get_io_arrayed_index_src(instr)))
615 (instr->intrinsic == nir_intrinsic_load_per_vertex_output ||
616 instr->intrinsic == nir_intrinsic_load_per_primitive_output) &&
617 !src_is_local_invocation_index(nir_get_io_arrayed_index_src(instr)))
621 nir_intrinsic_io_semantics(instr).fb_fetch_output)
629 instr->intrinsic == nir_intrinsic_store_output) {
631 if (!nir_src_is_const(*nir_get_io_offset_src(instr)))
636 if (!nir_src_is_const(*nir_get_io_offset_src(instr))) {
643 (instr->intrinsic == nir_intrinsic_store_per_vertex_output ||
644 instr->intrinsic == nir_intrinsic_store_per_primitive_output) &&
645 !src_is_local_invocation_index(nir_get_io_arrayed_index_src(instr)))
649 nir_intrinsic_io_semantics(instr).dual_source_blend_index)
657 (instr->intrinsic == nir_intrinsic_load_color1));
726 nir_system_value_from_intrinsic(instr->intrinsic));
730 if (nir_intrinsic_interp_mode(instr) == INTERP_MODE_SMOOTH ||
731 nir_intrinsic_interp_mode(instr) == INTERP_MODE_NONE) {
734 } else if (nir_intrinsic_interp_mode(instr) == INTERP_MODE_NOPERSPECTIVE) {
741 if (nir_intrinsic_interp_mode(instr) == INTERP_MODE_SMOOTH ||
742 nir_intrinsic_interp_mode(instr) == INTERP_MODE_NONE) {
745 } else if (nir_intrinsic_interp_mode(instr) == INTERP_MODE_NOPERSPECTIVE) {
752 if (nir_intrinsic_interp_mode(instr) == INTERP_MODE_SMOOTH ||
753 nir_intrinsic_interp_mode(instr) == INTERP_MODE_NONE) {
756 } else if (nir_intrinsic_interp_mode(instr) == INTERP_MODE_NOPERSPECTIVE) {
810 shader->info.gs.active_stream_mask |= 1 << nir_intrinsic_stream_id(instr);
820 nir_intrinsic_execution_scope(instr) != NIR_SCOPE_NONE;
823 nir_intrinsic_memory_scope(instr) != NIR_SCOPE_NONE;
837 if (nir_intrinsic_writes_external_memory(instr))
844 gather_tex_info(nir_tex_instr *instr, nir_shader *shader)
847 nir_tex_instr_has_implicit_derivative(instr))
850 switch (instr->op) {
860 gather_alu_info(nir_alu_instr *instr, nir_shader *shader)
862 switch (instr->op) {
878 const nir_op_info *info = &nir_op_infos[instr->op];
882 shader->info.bit_sizes_float |= nir_src_bit_size(instr->src[i].src);
884 shader->info.bit_sizes_int |= nir_src_bit_size(instr->src[i].src);
887 shader->info.bit_sizes_float |= nir_dest_bit_size(instr->dest.dest);
889 shader->info.bit_sizes_int |= nir_dest_bit_size(instr->dest.dest);
902 nir_foreach_instr(instr, block) {
903 switch (instr->type) {
905 gather_alu_info(nir_instr_as_alu(instr), shader);
908 gather_intrinsic_info(nir_instr_as_intrinsic(instr), shader, dead_ctx);
911 gather_tex_info(nir_instr_as_tex(instr), shader);
914 nir_call_instr *call = nir_instr_as_call(instr);