• Home
  • Raw
  • Download

Lines Matching refs:intr

438 unary_func_name(enum dxil_intr intr)  in unary_func_name()  argument
440 switch (intr) { in unary_func_name()
454 enum dxil_intr intr, in emit_unary_call() argument
458 unary_func_name(intr), in emit_unary_call()
463 const struct dxil_value *opcode = dxil_module_get_int32_const(&ctx->mod, intr); in emit_unary_call()
477 enum dxil_intr intr, in emit_binary_call() argument
484 const struct dxil_value *opcode = dxil_module_get_int32_const(&ctx->mod, intr); in emit_binary_call()
499 enum dxil_intr intr, in emit_tertiary_call() argument
508 const struct dxil_value *opcode = dxil_module_get_int32_const(&ctx->mod, intr); in emit_tertiary_call()
1770 enum dxil_intr intr, const struct dxil_value *op) in emit_unary_intin() argument
1776 const struct dxil_value *v = emit_unary_call(ctx, overload, intr, op); in emit_unary_intin()
1785 enum dxil_intr intr, in emit_binary_intin() argument
1796 const struct dxil_value *v = emit_binary_call(ctx, overload, intr, in emit_binary_intin()
1806 enum dxil_intr intr, in emit_tertiary_intin() argument
1823 const struct dxil_value *v = emit_tertiary_call(ctx, overload, intr, in emit_tertiary_intin()
2229 emit_barrier(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_barrier() argument
2235 if (nir_intrinsic_execution_scope(intr) == NIR_SCOPE_WORKGROUP) in emit_barrier()
2238 nir_variable_mode modes = nir_intrinsic_memory_modes(intr); in emit_barrier()
2239 nir_scope mem_scope = nir_intrinsic_memory_scope(intr); in emit_barrier()
2275 nir_intrinsic_instr *intr) in emit_load_global_invocation_id() argument
2277 assert(intr->dest.is_ssa); in emit_load_global_invocation_id()
2278 nir_component_mask_t comps = nir_ssa_def_components_read(&intr->dest.ssa); in emit_load_global_invocation_id()
2280 for (int i = 0; i < nir_intrinsic_dest_components(intr); i++) { in emit_load_global_invocation_id()
2290 store_dest_value(ctx, &intr->dest, i, globalid); in emit_load_global_invocation_id()
2298 nir_intrinsic_instr *intr) in emit_load_local_invocation_id() argument
2300 assert(intr->dest.is_ssa); in emit_load_local_invocation_id()
2301 nir_component_mask_t comps = nir_ssa_def_components_read(&intr->dest.ssa); in emit_load_local_invocation_id()
2303 for (int i = 0; i < nir_intrinsic_dest_components(intr); i++) { in emit_load_local_invocation_id()
2313 store_dest_value(ctx, &intr->dest, i, threadidingroup); in emit_load_local_invocation_id()
2321 nir_intrinsic_instr *intr) in emit_load_local_invocation_index() argument
2323 assert(intr->dest.is_ssa); in emit_load_local_invocation_index()
2329 store_dest_value(ctx, &intr->dest, 0, flattenedthreadidingroup); in emit_load_local_invocation_index()
2336 nir_intrinsic_instr *intr) in emit_load_local_workgroup_id() argument
2338 assert(intr->dest.is_ssa); in emit_load_local_workgroup_id()
2339 nir_component_mask_t comps = nir_ssa_def_components_read(&intr->dest.ssa); in emit_load_local_workgroup_id()
2341 for (int i = 0; i < nir_intrinsic_dest_components(intr); i++) { in emit_load_local_workgroup_id()
2349 store_dest_value(ctx, &intr->dest, i, groupid); in emit_load_local_workgroup_id()
2357 nir_intrinsic_instr *intr, const char *name, in emit_load_unary_external_function() argument
2374 store_dest_value(ctx, &intr->dest, 0, value); in emit_load_unary_external_function()
2454 emit_load_ssbo(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_load_ssbo() argument
2458 nir_variable *var = nir_get_binding_variable(ctx->shader, nir_chase_binding(intr->src[0])); in emit_load_ssbo()
2463 const struct dxil_value *handle = get_ubo_ssbo_handle(ctx, &intr->src[0], class, 0); in emit_load_ssbo()
2465 get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_load_ssbo()
2469 assert(nir_src_bit_size(intr->src[0]) == 32); in emit_load_ssbo()
2470 assert(nir_intrinsic_dest_components(intr) <= 4); in emit_load_ssbo()
2481 for (int i = 0; i < nir_intrinsic_dest_components(intr); i++) { in emit_load_ssbo()
2486 store_dest_value(ctx, &intr->dest, i, val); in emit_load_ssbo()
2492 emit_store_ssbo(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_store_ssbo() argument
2494 …const struct dxil_value* handle = get_ubo_ssbo_handle(ctx, &intr->src[1], DXIL_RESOURCE_CLASS_UAV,… in emit_store_ssbo()
2496 get_src(ctx, &intr->src[2], 0, nir_type_uint); in emit_store_ssbo()
2500 assert(nir_src_bit_size(intr->src[0]) == 32); in emit_store_ssbo()
2501 unsigned num_components = nir_src_num_components(intr->src[0]); in emit_store_ssbo()
2505 value[i] = get_src(ctx, &intr->src[0], i, nir_type_uint); in emit_store_ssbo()
2531 emit_store_ssbo_masked(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_store_ssbo_masked() argument
2534 get_src(ctx, &intr->src[0], 0, nir_type_uint); in emit_store_ssbo_masked()
2536 get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_store_ssbo_masked()
2537 …const struct dxil_value* handle = get_ubo_ssbo_handle(ctx, &intr->src[2], DXIL_RESOURCE_CLASS_UAV,… in emit_store_ssbo_masked()
2539 get_src(ctx, &intr->src[3], 0, nir_type_uint); in emit_store_ssbo_masked()
2557 emit_store_shared(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_store_shared() argument
2564 assert(nir_src_bit_size(intr->src[0]) == 32); in emit_store_shared()
2565 assert(nir_src_num_components(intr->src[0]) == 1); in emit_store_shared()
2571 if (intr->intrinsic == nir_intrinsic_store_shared_dxil) in emit_store_shared()
2572 index = get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_store_shared()
2574 index = get_src(ctx, &intr->src[2], 0, nir_type_uint); in emit_store_shared()
2585 value = get_src(ctx, &intr->src[0], 0, nir_type_uint); in emit_store_shared()
2589 if (intr->intrinsic == nir_intrinsic_store_shared_dxil) in emit_store_shared()
2592 const struct dxil_value *mask = get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_store_shared()
2610 emit_store_scratch(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_store_scratch() argument
2617 assert(nir_src_bit_size(intr->src[0]) == 32); in emit_store_scratch()
2618 assert(nir_src_num_components(intr->src[0]) == 1); in emit_store_scratch()
2624 index = get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_store_scratch()
2635 value = get_src(ctx, &intr->src[0], 0, nir_type_uint); in emit_store_scratch()
2643 emit_load_ubo(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_load_ubo() argument
2645 …const struct dxil_value* handle = get_ubo_ssbo_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_CBV,… in emit_load_ubo()
2650 nir_const_value *const_offset = nir_src_as_const_value(intr->src[1]); in emit_load_ubo()
2654 const struct dxil_value *offset_src = get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_load_ubo()
2667 for (unsigned i = 0; i < nir_dest_num_components(intr->dest); ++i) { in emit_load_ubo()
2669 store_dest(ctx, &intr->dest, i, retval, in emit_load_ubo()
2670 nir_dest_bit_size(intr->dest) > 1 ? nir_type_float : nir_type_bool); in emit_load_ubo()
2676 emit_load_ubo_dxil(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_load_ubo_dxil() argument
2678 assert(nir_dest_num_components(intr->dest) <= 4); in emit_load_ubo_dxil()
2679 assert(nir_dest_bit_size(intr->dest) == 32); in emit_load_ubo_dxil()
2681 …const struct dxil_value* handle = get_ubo_ssbo_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_CBV,… in emit_load_ubo_dxil()
2683 get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_load_ubo_dxil()
2692 for (unsigned i = 0; i < nir_dest_num_components(intr->dest); i++) in emit_load_ubo_dxil()
2693 store_dest_value(ctx, &intr->dest, i, in emit_load_ubo_dxil()
2700 emit_store_output(struct ntd_context *ctx, nir_intrinsic_instr *intr, in emit_store_output() argument
2720 nir_deref_instr *array_deref = nir_instr_as_deref(intr->src[0].ssa->parent_instr); in emit_store_output()
2724 const struct dxil_value *value = get_src(ctx, &intr->src[1], 0, out_type); in emit_store_output()
2733 uint32_t writemask = nir_intrinsic_write_mask(intr); in emit_store_output()
2734 for (unsigned i = 0; i < nir_src_num_components(intr->src[1]) && success; ++i) { in emit_store_output()
2737 const struct dxil_value *value = get_src(ctx, &intr->src[1], i, out_type); in emit_store_output()
2752 emit_store_deref(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_store_deref() argument
2754 nir_deref_instr *deref = nir_src_as_deref(intr->src[0]); in emit_store_deref()
2759 return emit_store_output(ctx, intr, var); in emit_store_deref()
2767 emit_load_input_array(struct ntd_context *ctx, nir_intrinsic_instr *intr, nir_variable *var, nir_sr… in emit_load_input_array() argument
2795 for (unsigned i = 0; i < nir_dest_num_components(intr->dest); ++i) { in emit_load_input_array()
2807 store_dest(ctx, &intr->dest, i, retval, out_type); in emit_load_input_array()
2813 emit_load_compact_input_array(struct ntd_context *ctx, nir_intrinsic_instr *intr, nir_variable *var… in emit_load_compact_input_array() argument
2856 store_dest(ctx, &intr->dest, 0, retval, out_type); in emit_load_compact_input_array()
2861 emit_load_input_interpolated(struct ntd_context *ctx, nir_intrinsic_instr *intr, nir_variable *var) in emit_load_input_interpolated() argument
2881 for (unsigned i = 0; i < nir_dest_num_components(intr->dest); ++i) { in emit_load_input_interpolated()
2891 store_dest(ctx, &intr->dest, i, retval, out_type); in emit_load_input_interpolated()
2897 emit_load_input_flat(struct ntd_context *ctx, nir_intrinsic_instr *intr, nir_variable* var) in emit_load_input_flat() argument
2911 for (unsigned i = 0; i < nir_dest_num_components(intr->dest); ++i) { in emit_load_input_flat()
2921 store_dest(ctx, &intr->dest, i, retval, out_type); in emit_load_input_flat()
2927 emit_load_input(struct ntd_context *ctx, nir_intrinsic_instr *intr, in emit_load_input() argument
2935 return emit_load_input_interpolated(ctx, intr, input); in emit_load_input()
2937 return emit_load_input_flat(ctx, intr, input); in emit_load_input()
2941 emit_load_ptr(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_load_ptr() argument
2944 nir_deref_instr_get_variable(nir_src_as_deref(intr->src[0])); in emit_load_ptr()
2947 get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_load_ptr()
2960 store_dest(ctx, &intr->dest, 0, retval, nir_type_uint); in emit_load_ptr()
2965 emit_load_shared(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_load_shared() argument
2968 unsigned bit_size = nir_dest_bit_size(intr->dest); in emit_load_shared()
2975 assert(nir_dest_num_components(intr->dest) == 1); in emit_load_shared()
2981 index = get_src(ctx, &intr->src[0], 0, nir_type_uint); in emit_load_shared()
2996 store_dest(ctx, &intr->dest, 0, retval, nir_type_uint); in emit_load_shared()
3001 emit_load_scratch(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_load_scratch() argument
3004 unsigned bit_size = nir_dest_bit_size(intr->dest); in emit_load_scratch()
3011 assert(nir_dest_num_components(intr->dest) == 1); in emit_load_scratch()
3017 index = get_src(ctx, &intr->src[0], 0, nir_type_uint); in emit_load_scratch()
3032 store_dest(ctx, &intr->dest, 0, retval, nir_type_uint); in emit_load_scratch()
3037 emit_load_deref(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_load_deref() argument
3039 assert(intr->src[0].is_ssa); in emit_load_deref()
3040 nir_deref_instr *deref = nir_instr_as_deref(intr->src[0].ssa->parent_instr); in emit_load_deref()
3047 return emit_load_compact_input_array(ctx, intr, var, deref); in emit_load_deref()
3049 return emit_load_input_array(ctx, intr, var, &deref->arr.index); in emit_load_deref()
3051 return emit_load_input(ctx, intr, var); in emit_load_deref()
3078 emit_discard_if(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_discard_if() argument
3080 const struct dxil_value *value = get_src(ctx, &intr->src[0], 0, nir_type_bool); in emit_discard_if()
3095 emit_emit_vertex(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_emit_vertex() argument
3098 …truct dxil_value *stream_id = dxil_module_get_int8_const(&ctx->mod, nir_intrinsic_stream_id(intr)); in emit_emit_vertex()
3115 emit_end_primitive(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_end_primitive() argument
3118 …truct dxil_value *stream_id = dxil_module_get_int8_const(&ctx->mod, nir_intrinsic_stream_id(intr)); in emit_end_primitive()
3135 emit_image_store(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_image_store() argument
3140 assert(intr->intrinsic == nir_intrinsic_image_deref_store); in emit_image_store()
3141 handle = get_src_ssa(ctx, intr->src[0].ssa, 0); in emit_image_store()
3142 is_array = glsl_sampler_type_is_array(nir_src_as_deref(intr->src[0])->type); in emit_image_store()
3144 assert(intr->intrinsic == nir_intrinsic_image_store); in emit_image_store()
3145 int binding = nir_src_as_int(intr->src[0]); in emit_image_store()
3146 is_array = nir_intrinsic_image_array(intr); in emit_image_store()
3157 enum glsl_sampler_dim image_dim = intr->intrinsic == nir_intrinsic_image_store ? in emit_image_store()
3158 nir_intrinsic_image_dim(intr) : in emit_image_store()
3159 glsl_get_sampler_dim(nir_src_as_deref(intr->src[0])->type); in emit_image_store()
3164 assert(num_coords <= nir_src_num_components(intr->src[1])); in emit_image_store()
3166 coord[i] = get_src(ctx, &intr->src[1], i, nir_type_uint); in emit_image_store()
3171 nir_alu_type in_type = nir_intrinsic_src_type(intr); in emit_image_store()
3174 assert(nir_src_bit_size(intr->src[3]) == 32); in emit_image_store()
3175 unsigned num_components = nir_src_num_components(intr->src[3]); in emit_image_store()
3179 value[i] = get_src(ctx, &intr->src[3], i, in_type); in emit_image_store()
3200 emit_image_load(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_image_load() argument
3205 assert(intr->intrinsic == nir_intrinsic_image_deref_load); in emit_image_load()
3206 handle = get_src_ssa(ctx, intr->src[0].ssa, 0); in emit_image_load()
3207 is_array = glsl_sampler_type_is_array(nir_src_as_deref(intr->src[0])->type); in emit_image_load()
3209 assert(intr->intrinsic == nir_intrinsic_image_load); in emit_image_load()
3210 int binding = nir_src_as_int(intr->src[0]); in emit_image_load()
3211 is_array = nir_intrinsic_image_array(intr); in emit_image_load()
3222 enum glsl_sampler_dim image_dim = intr->intrinsic == nir_intrinsic_image_load ? in emit_image_load()
3223 nir_intrinsic_image_dim(intr) : in emit_image_load()
3224 glsl_get_sampler_dim(nir_src_as_deref(intr->src[0])->type); in emit_image_load()
3229 assert(num_coords <= nir_src_num_components(intr->src[1])); in emit_image_load()
3231 coord[i] = get_src(ctx, &intr->src[1], i, nir_type_uint); in emit_image_load()
3236 nir_alu_type out_type = nir_intrinsic_dest_type(intr); in emit_image_load()
3249 assert(nir_dest_bit_size(intr->dest) == 32); in emit_image_load()
3250 unsigned num_components = nir_dest_num_components(intr->dest); in emit_image_load()
3256 store_dest(ctx, &intr->dest, i, component, out_type); in emit_image_load()
3291 emit_image_size(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_image_size() argument
3295 assert(intr->intrinsic == nir_intrinsic_image_deref_size); in emit_image_size()
3296 handle = get_src_ssa(ctx, intr->src[0].ssa, 0); in emit_image_size()
3299 assert(intr->intrinsic == nir_intrinsic_image_size); in emit_image_size()
3300 int binding = nir_src_as_int(intr->src[0]); in emit_image_size()
3306 const struct dxil_value *lod = get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_image_size()
3318 for (unsigned i = 0; i < nir_dest_num_components(intr->dest); ++i) { in emit_image_size()
3320 store_dest(ctx, &intr->dest, i, retval, nir_type_uint); in emit_image_size()
3327 emit_get_ssbo_size(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_get_ssbo_size() argument
3331 handle = get_src_ssa(ctx, intr->src[0].ssa, 0); in emit_get_ssbo_size()
3333 int binding = nir_src_as_int(intr->src[0]); in emit_get_ssbo_size()
3351 store_dest(ctx, &intr->dest, 0, retval, nir_type_uint); in emit_get_ssbo_size()
3357 emit_ssbo_atomic(struct ntd_context *ctx, nir_intrinsic_instr *intr, in emit_ssbo_atomic() argument
3360 …const struct dxil_value* handle = get_ubo_ssbo_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_UAV,… in emit_ssbo_atomic()
3362 get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_ssbo_atomic()
3364 get_src(ctx, &intr->src[2], 0, type); in emit_ssbo_atomic()
3383 store_dest(ctx, &intr->dest, 0, retval, type); in emit_ssbo_atomic()
3388 emit_ssbo_atomic_comp_swap(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_ssbo_atomic_comp_swap() argument
3390 …const struct dxil_value* handle = get_ubo_ssbo_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_UAV,… in emit_ssbo_atomic_comp_swap()
3392 get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_ssbo_atomic_comp_swap()
3394 get_src(ctx, &intr->src[2], 0, nir_type_int); in emit_ssbo_atomic_comp_swap()
3396 get_src(ctx, &intr->src[3], 0, nir_type_int); in emit_ssbo_atomic_comp_swap()
3415 store_dest(ctx, &intr->dest, 0, retval, nir_type_int); in emit_ssbo_atomic_comp_swap()
3420 emit_shared_atomic(struct ntd_context *ctx, nir_intrinsic_instr *intr, in emit_shared_atomic() argument
3425 assert(nir_src_bit_size(intr->src[1]) == 32); in emit_shared_atomic()
3431 index = get_src(ctx, &intr->src[0], 0, nir_type_uint); in emit_shared_atomic()
3442 value = get_src(ctx, &intr->src[1], 0, type); in emit_shared_atomic()
3452 store_dest(ctx, &intr->dest, 0, retval, type); in emit_shared_atomic()
3457 emit_shared_atomic_comp_swap(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_shared_atomic_comp_swap() argument
3461 assert(nir_src_bit_size(intr->src[1]) == 32); in emit_shared_atomic_comp_swap()
3467 index = get_src(ctx, &intr->src[0], 0, nir_type_uint); in emit_shared_atomic_comp_swap()
3478 cmpval = get_src(ctx, &intr->src[1], 0, nir_type_uint); in emit_shared_atomic_comp_swap()
3479 newval = get_src(ctx, &intr->src[2], 0, nir_type_uint); in emit_shared_atomic_comp_swap()
3489 store_dest(ctx, &intr->dest, 0, retval, nir_type_uint); in emit_shared_atomic_comp_swap()
3494 emit_vulkan_resource_index(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_vulkan_resource_index() argument
3496 unsigned int binding = nir_intrinsic_binding(intr); in emit_vulkan_resource_index()
3498 bool const_index = nir_src_is_const(intr->src[0]); in emit_vulkan_resource_index()
3500 binding += nir_src_as_const_value(intr->src[0])->u32; in emit_vulkan_resource_index()
3508 const struct dxil_value *offset = get_src(ctx, &intr->src[0], 0, nir_type_uint32); in emit_vulkan_resource_index()
3517 store_dest(ctx, &intr->dest, 0, index_value, nir_type_uint32); in emit_vulkan_resource_index()
3518 store_dest(ctx, &intr->dest, 1, dxil_module_get_int32_const(&ctx->mod, 0), nir_type_uint32); in emit_vulkan_resource_index()
3523 emit_load_vulkan_descriptor(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_load_vulkan_descriptor() argument
3525 nir_intrinsic_instr* index = nir_src_as_intrinsic(intr->src[0]); in emit_load_vulkan_descriptor()
3535 nir_variable *var = nir_get_binding_variable(ctx->shader, nir_chase_binding(intr->src[0])); in emit_load_vulkan_descriptor()
3540 switch (nir_intrinsic_desc_type(intr)) { in emit_load_vulkan_descriptor()
3555 const struct dxil_value *index_value = get_src(ctx, &intr->src[0], 0, nir_type_uint32); in emit_load_vulkan_descriptor()
3563 store_dest_value(ctx, &intr->dest, 0, handle); in emit_load_vulkan_descriptor()
3564 … store_dest(ctx, &intr->dest, 1, get_src(ctx, &intr->src[0], 1, nir_type_uint32), nir_type_uint32); in emit_load_vulkan_descriptor()
3570 emit_intrinsic(struct ntd_context *ctx, nir_intrinsic_instr *intr) in emit_intrinsic() argument
3572 switch (intr->intrinsic) { in emit_intrinsic()
3575 return emit_load_global_invocation_id(ctx, intr); in emit_intrinsic()
3577 return emit_load_local_invocation_id(ctx, intr); in emit_intrinsic()
3579 return emit_load_local_invocation_index(ctx, intr); in emit_intrinsic()
3582 return emit_load_local_workgroup_id(ctx, intr); in emit_intrinsic()
3584 return emit_load_ssbo(ctx, intr); in emit_intrinsic()
3586 return emit_store_ssbo(ctx, intr); in emit_intrinsic()
3588 return emit_store_ssbo_masked(ctx, intr); in emit_intrinsic()
3590 return emit_store_deref(ctx, intr); in emit_intrinsic()
3593 return emit_store_shared(ctx, intr); in emit_intrinsic()
3595 return emit_store_scratch(ctx, intr); in emit_intrinsic()
3597 return emit_load_deref(ctx, intr); in emit_intrinsic()
3599 return emit_load_ptr(ctx, intr); in emit_intrinsic()
3601 return emit_load_ubo(ctx, intr); in emit_intrinsic()
3603 return emit_load_ubo_dxil(ctx, intr); in emit_intrinsic()
3605 return emit_load_input_interpolated(ctx, intr, in emit_intrinsic()
3608 return emit_load_input_interpolated(ctx, intr, in emit_intrinsic()
3611 return emit_load_input_interpolated(ctx, intr, in emit_intrinsic()
3614 return emit_load_unary_external_function(ctx, intr, "dx.op.primitiveID", in emit_intrinsic()
3617 return emit_load_unary_external_function(ctx, intr, "dx.op.sampleIndex", in emit_intrinsic()
3620 return emit_load_shared(ctx, intr); in emit_intrinsic()
3622 return emit_load_scratch(ctx, intr); in emit_intrinsic()
3624 return emit_discard_if(ctx, intr); in emit_intrinsic()
3628 return emit_emit_vertex(ctx, intr); in emit_intrinsic()
3630 return emit_end_primitive(ctx, intr); in emit_intrinsic()
3632 return emit_barrier(ctx, intr); in emit_intrinsic()
3634 return emit_ssbo_atomic(ctx, intr, DXIL_ATOMIC_ADD, nir_type_int); in emit_intrinsic()
3636 return emit_ssbo_atomic(ctx, intr, DXIL_ATOMIC_IMIN, nir_type_int); in emit_intrinsic()
3638 return emit_ssbo_atomic(ctx, intr, DXIL_ATOMIC_UMIN, nir_type_uint); in emit_intrinsic()
3640 return emit_ssbo_atomic(ctx, intr, DXIL_ATOMIC_IMAX, nir_type_int); in emit_intrinsic()
3642 return emit_ssbo_atomic(ctx, intr, DXIL_ATOMIC_UMAX, nir_type_uint); in emit_intrinsic()
3644 return emit_ssbo_atomic(ctx, intr, DXIL_ATOMIC_AND, nir_type_uint); in emit_intrinsic()
3646 return emit_ssbo_atomic(ctx, intr, DXIL_ATOMIC_OR, nir_type_uint); in emit_intrinsic()
3648 return emit_ssbo_atomic(ctx, intr, DXIL_ATOMIC_XOR, nir_type_uint); in emit_intrinsic()
3650 return emit_ssbo_atomic(ctx, intr, DXIL_ATOMIC_EXCHANGE, nir_type_int); in emit_intrinsic()
3652 return emit_ssbo_atomic_comp_swap(ctx, intr); in emit_intrinsic()
3654 return emit_shared_atomic(ctx, intr, DXIL_RMWOP_ADD, nir_type_int); in emit_intrinsic()
3656 return emit_shared_atomic(ctx, intr, DXIL_RMWOP_MIN, nir_type_int); in emit_intrinsic()
3658 return emit_shared_atomic(ctx, intr, DXIL_RMWOP_UMIN, nir_type_uint); in emit_intrinsic()
3660 return emit_shared_atomic(ctx, intr, DXIL_RMWOP_MAX, nir_type_int); in emit_intrinsic()
3662 return emit_shared_atomic(ctx, intr, DXIL_RMWOP_UMAX, nir_type_uint); in emit_intrinsic()
3664 return emit_shared_atomic(ctx, intr, DXIL_RMWOP_AND, nir_type_uint); in emit_intrinsic()
3666 return emit_shared_atomic(ctx, intr, DXIL_RMWOP_OR, nir_type_uint); in emit_intrinsic()
3668 return emit_shared_atomic(ctx, intr, DXIL_RMWOP_XOR, nir_type_uint); in emit_intrinsic()
3670 return emit_shared_atomic(ctx, intr, DXIL_RMWOP_XCHG, nir_type_int); in emit_intrinsic()
3672 return emit_shared_atomic_comp_swap(ctx, intr); in emit_intrinsic()
3675 return emit_image_store(ctx, intr); in emit_intrinsic()
3678 return emit_image_load(ctx, intr); in emit_intrinsic()
3681 return emit_image_size(ctx, intr); in emit_intrinsic()
3683 return emit_get_ssbo_size(ctx, intr); in emit_intrinsic()
3686 return emit_vulkan_resource_index(ctx, intr); in emit_intrinsic()
3688 return emit_load_vulkan_descriptor(ctx, intr); in emit_intrinsic()
3693 NIR_INSTR_UNSUPPORTED(&intr->instr); in emit_intrinsic()