Lines Matching refs:mode
56 nir_address_format addr_format = vtn_mode_to_address_format(b, ptr->mode);
180 enum vtn_variable_mode mode)
182 return mode == vtn_variable_mode_ssbo ||
183 mode == vtn_variable_mode_ubo ||
184 mode == vtn_variable_mode_phys_ssbo ||
185 mode == vtn_variable_mode_push_constant ||
186 mode == vtn_variable_mode_workgroup ||
187 mode == vtn_variable_mode_cross_workgroup;
194 return ptr->mode == vtn_variable_mode_ssbo ||
195 ptr->mode == vtn_variable_mode_ubo ||
196 ptr->mode == vtn_variable_mode_phys_ssbo;
204 if (link.mode == vtn_access_mode_literal) {
215 vk_desc_type_for_mode(struct vtn_builder *b, enum vtn_variable_mode mode)
217 switch (mode) {
225 vtn_fail("Invalid mode for vulkan_resource_index");
249 nir_intrinsic_set_desc_type(instr, vk_desc_type_for_mode(b, var->mode));
251 nir_address_format addr_format = vtn_mode_to_address_format(b, var->mode);
262 vtn_resource_reindex(struct vtn_builder *b, enum vtn_variable_mode mode,
272 nir_intrinsic_set_desc_type(instr, vk_desc_type_for_mode(b, mode));
274 nir_address_format addr_format = vtn_mode_to_address_format(b, mode);
285 vtn_descriptor_load(struct vtn_builder *b, enum vtn_variable_mode mode,
294 nir_intrinsic_set_desc_type(desc_load, vk_desc_type_for_mode(b, mode));
296 nir_address_format addr_format = vtn_mode_to_address_format(b, mode);
320 base->mode == vtn_variable_mode_accel_struct)) {
349 base->mode == vtn_variable_mode_accel_struct) {
385 block_index = vtn_resource_reindex(b, base->mode,
395 ptr->mode = base->mode;
406 nir_ssa_def *desc = vtn_descriptor_load(b, base->mode, block_index);
408 assert(base->mode == vtn_variable_mode_ssbo ||
409 base->mode == vtn_variable_mode_ubo);
411 base->mode == vtn_variable_mode_ssbo ? nir_var_mem_ssbo : nir_var_mem_ubo;
414 vtn_type_get_nir_type(b, type, base->mode),
416 } else if (base->mode == vtn_variable_mode_shader_record) {
424 base->mode),
451 vtn_assert(deref_chain->link[idx].mode == vtn_access_mode_literal);
468 ptr->mode = base->mode;
583 assert(ptr->mode == vtn_variable_mode_accel_struct);
592 return vtn_descriptor_load(b, ptr->mode, ptr->block_index);
601 if (ptr->mode == vtn_variable_mode_uniform ||
602 ptr->mode == vtn_variable_mode_image) {
619 } else if (ptr->mode == vtn_variable_mode_accel_struct) {
642 if (vtn_mode_is_cross_invocation(b, ptr->mode)) {
677 { .mode = vtn_access_mode_literal, },
746 { .mode = vtn_access_mode_literal, },
779 set_mode_system_value(struct vtn_builder *b, nir_variable_mode *mode)
781 vtn_assert(*mode == nir_var_system_value || *mode == nir_var_shader_in ||
783 *mode == nir_var_mem_task_payload);
784 *mode = nir_var_system_value;
790 nir_variable_mode *mode)
817 set_mode_system_value(b, mode);
821 set_mode_system_value(b, mode);
825 set_mode_system_value(b, mode);
829 vtn_assert(*mode == nir_var_shader_in);
831 } else if (*mode == nir_var_shader_out) {
835 set_mode_system_value(b, mode);
840 set_mode_system_value(b, mode);
846 *mode = nir_var_shader_in;
848 *mode = nir_var_shader_out;
853 *mode = nir_var_shader_out;
860 *mode = nir_var_shader_out;
865 *mode = nir_var_shader_out;
867 *mode = nir_var_shader_in;
874 *mode = nir_var_shader_out;
884 set_mode_system_value(b, mode);
888 set_mode_system_value(b, mode);
891 vtn_assert(*mode == nir_var_shader_in);
892 *mode = nir_var_system_value;
896 vtn_assert(*mode == nir_var_shader_in);
897 set_mode_system_value(b, mode);
902 set_mode_system_value(b, mode);
906 set_mode_system_value(b, mode);
910 set_mode_system_value(b, mode);
913 if (*mode == nir_var_shader_out) {
917 set_mode_system_value(b, mode);
922 vtn_assert(*mode == nir_var_shader_out);
926 set_mode_system_value(b, mode);
930 set_mode_system_value(b, mode);
935 set_mode_system_value(b, mode);
939 set_mode_system_value(b, mode);
943 set_mode_system_value(b, mode);
947 set_mode_system_value(b, mode);
951 set_mode_system_value(b, mode);
955 set_mode_system_value(b, mode);
959 set_mode_system_value(b, mode);
969 set_mode_system_value(b, mode);
973 set_mode_system_value(b, mode);
977 set_mode_system_value(b, mode);
981 set_mode_system_value(b, mode);
985 set_mode_system_value(b, mode);
989 set_mode_system_value(b, mode);
993 set_mode_system_value(b, mode);
997 set_mode_system_value(b, mode);
1002 vtn_assert(*mode == nir_var_shader_in);
1005 set_mode_system_value(b, mode);
1010 set_mode_system_value(b, mode);
1014 set_mode_system_value(b, mode);
1018 set_mode_system_value(b, mode);
1022 set_mode_system_value(b, mode);
1026 set_mode_system_value(b, mode);
1030 vtn_assert(*mode == nir_var_shader_out);
1034 set_mode_system_value(b, mode);
1038 set_mode_system_value(b, mode);
1042 set_mode_system_value(b, mode);
1046 set_mode_system_value(b, mode);
1050 set_mode_system_value(b, mode);
1054 set_mode_system_value(b, mode);
1058 set_mode_system_value(b, mode);
1062 set_mode_system_value(b, mode);
1066 set_mode_system_value(b, mode);
1070 set_mode_system_value(b, mode);
1074 set_mode_system_value(b, mode);
1078 set_mode_system_value(b, mode);
1082 set_mode_system_value(b, mode);
1086 set_mode_system_value(b, mode);
1090 set_mode_system_value(b, mode);
1094 set_mode_system_value(b, mode);
1098 set_mode_system_value(b, mode);
1102 set_mode_system_value(b, mode);
1107 set_mode_system_value(b, mode);
1111 set_mode_system_value(b, mode);
1115 set_mode_system_value(b, mode);
1119 set_mode_system_value(b, mode);
1123 set_mode_system_value(b, mode);
1127 set_mode_system_value(b, mode);
1131 set_mode_system_value(b, mode);
1138 *mode = nir_var_shader_out;
1152 *mode = nir_var_shader_out;
1156 set_mode_system_value(b, mode);
1160 set_mode_system_value(b, mode);
1226 nir_variable_mode mode = var_data->mode;
1227 vtn_get_builtin_location(b, builtin, &var_data->location, &mode);
1228 var_data->mode = mode;
1319 !(b->shader->info.stage == MESA_SHADER_MESH && var_data->mode == nir_var_shader_out) &&
1320 !(b->shader->info.stage == MESA_SHADER_FRAGMENT && var_data->mode == nir_var_shader_in),
1329 var_data->mode != nir_var_mem_task_payload,
1422 vtn_var->mode == vtn_variable_mode_output) {
1425 vtn_var->mode == vtn_variable_mode_input) {
1427 } else if (vtn_var->mode == vtn_variable_mode_input ||
1428 vtn_var->mode == vtn_variable_mode_output) {
1430 } else if (vtn_var->mode == vtn_variable_mode_call_data ||
1431 vtn_var->mode == vtn_variable_mode_ray_payload) {
1433 } else if (vtn_var->mode != vtn_variable_mode_uniform &&
1434 vtn_var->mode != vtn_variable_mode_image) {
1478 vtn_assert(vtn_var->mode == vtn_variable_mode_ubo ||
1479 vtn_var->mode == vtn_variable_mode_ssbo ||
1480 vtn_var->mode == vtn_variable_mode_push_constant);
1491 enum vtn_variable_mode mode;
1497 mode = vtn_variable_mode_ubo;
1500 mode = vtn_variable_mode_ssbo;
1504 mode = vtn_variable_mode_uniform;
1509 mode = vtn_variable_mode_ssbo;
1513 mode = vtn_variable_mode_phys_ssbo;
1527 mode = vtn_variable_mode_image;
1530 mode = vtn_variable_mode_constant;
1539 mode = vtn_variable_mode_accel_struct;
1542 mode = vtn_variable_mode_uniform;
1548 mode = vtn_variable_mode_push_constant;
1552 mode = vtn_variable_mode_input;
1557 mode = vtn_variable_mode_task_payload;
1562 mode = vtn_variable_mode_output;
1567 mode = vtn_variable_mode_task_payload;
1572 mode = vtn_variable_mode_private;
1576 mode = vtn_variable_mode_function;
1580 mode = vtn_variable_mode_workgroup;
1584 mode = vtn_variable_mode_atomic_counter;
1588 mode = vtn_variable_mode_cross_workgroup;
1592 mode = vtn_variable_mode_image;
1596 mode = vtn_variable_mode_call_data;
1600 mode = vtn_variable_mode_call_data_in;
1604 mode = vtn_variable_mode_ray_payload;
1608 mode = vtn_variable_mode_ray_payload_in;
1612 mode = vtn_variable_mode_hit_attrib;
1616 mode = vtn_variable_mode_shader_record;
1621 mode = vtn_variable_mode_generic;
1632 return mode;
1636 vtn_mode_to_address_format(struct vtn_builder *b, enum vtn_variable_mode mode)
1638 switch (mode) {
1687 unreachable("Invalid variable mode");
1695 ptr->mode != vtn_variable_mode_phys_ssbo) ||
1696 ptr->mode == vtn_variable_mode_accel_struct) {
1738 ptr->mode = vtn_storage_class_to_mode(b, ptr_type->storage_class,
1744 vtn_type_get_nir_type(b, ptr_type->deref, ptr->mode);
1746 ptr->mode != vtn_variable_mode_accel_struct) {
1750 ptr->mode != vtn_variable_mode_phys_ssbo) ||
1751 ptr->mode == vtn_variable_mode_accel_struct) {
1852 enum vtn_variable_mode mode;
1854 mode = vtn_storage_class_to_mode(b, storage_class, without_array, &nir_mode);
1856 switch (mode) {
1902 var->mode = mode;
1906 val->pointer->mode = var->mode;
1912 switch (var->mode) {
1927 var->var->type = vtn_type_get_nir_type(b, var->type, var->mode);
1936 var->var->data.mode = nir_mode;
1950 var->var->type = vtn_type_get_nir_type(b, var->type, var->mode);
1953 var->var->data.mode = nir_mode;
1965 var->var->type = vtn_type_get_nir_type(b, var->type, var->mode);
1966 var->var->data.mode = nir_mode;
1973 var->var->type = vtn_type_get_nir_type(b, var->type, var->mode);
1974 var->var->data.mode = nir_mode;
2006 if (var->mode == vtn_variable_mode_output &&
2019 var->mode);
2037 var->var->members[i].mode = nir_mode;
2150 if (var->mode == vtn_variable_mode_uniform ||
2151 var->mode == vtn_variable_mode_image ||
2152 var->mode == vtn_variable_mode_ssbo) {
2163 if ((var->mode == vtn_variable_mode_input ||
2164 var->mode == vtn_variable_mode_output) &&
2169 if (var->mode == vtn_variable_mode_uniform ||
2170 var->mode == vtn_variable_mode_image ||
2171 var->mode == vtn_variable_mode_ubo ||
2172 var->mode == vtn_variable_mode_ssbo ||
2173 var->mode == vtn_variable_mode_atomic_counter) {
2187 if (var->mode == vtn_variable_mode_function) {
2194 var->mode == vtn_variable_mode_accel_struct ||
2195 var->mode == vtn_variable_mode_shader_record);
2313 vtn_mode_to_memory_semantics(enum vtn_variable_mode mode)
2315 switch (mode) {
2336 SpvScope scope, enum vtn_variable_mode mode)
2343 vtn_mode_to_memory_semantics(mode));
2348 SpvScope scope, enum vtn_variable_mode mode)
2355 vtn_mode_to_memory_semantics(mode));
2451 chain->link[idx].mode = vtn_access_mode_literal;
2454 chain->link[idx].mode = vtn_access_mode_id;
2502 vtn_emit_make_visible_barrier(b, src_access, src_scope, src->mode);
2508 vtn_emit_make_available_barrier(b, dest_access, dest_scope, dest->mode);
2532 vtn_emit_make_visible_barrier(b, src_access, src_scope, src->mode);
2541 vtn_emit_make_available_barrier(b, dest_access, dest_scope, dest->mode);
2558 vtn_emit_make_visible_barrier(b, access, scope, src->mode);
2603 vtn_emit_make_available_barrier(b, access, scope, dest->mode);
2622 { .mode = vtn_access_mode_literal, .id = field },
2730 enum vtn_variable_mode mode =
2732 nir_address_format addr_format = vtn_mode_to_address_format(b, mode);