Lines Matching defs:handle
691 const struct dxil_value *handle,
701 const struct dxil_value *args[] = { opcode, handle, coord[0], coord[1] };
708 const struct dxil_value *handle,
722 opcode, handle, coord[0], coord[1],
733 const struct dxil_value *handle,
745 const struct dxil_value *args[] = { opcode, handle,
755 const struct dxil_value *handle,
769 opcode, handle, coord[0], coord[1], coord[2],
780 const struct dxil_value *handle,
795 opcode, handle, atomic_op_value,
804 const struct dxil_value *handle,
818 opcode, handle, coord[0], coord[1], coord[2], cmpval, newval
2345 /* handle vec-instructions first; they are the only ones that produce
2513 load_ubo(struct ntd_context *ctx, const struct dxil_value *handle,
2516 assert(handle && offset);
2523 opcode, handle, offset
2737 /* Mask coverage with (1 << sample index). Note, done as an AND to handle extrapolation cases. */
2820 * 1. Constant resource index - just look it up in precomputed handle arrays
2821 * If it's null in that array, create a handle, and store the result
2822 * 2. A handle from load_vulkan_descriptor - just get the stored SSA value
2823 * 3. Dynamic resource index - create a handle for it here
2878 * deref-based dynamic handle creation (images, or Vulkan textures/samplers), or
2879 * load_vulkan_descriptor handle creation.
2886 const struct dxil_value *handle = emit_createhandle_call(ctx, class,
2889 *handle_entry = handle;
2891 return handle;
2906 const struct dxil_value *handle = get_resource_handle(ctx, &intr->src[0], class, DXIL_RESOURCE_KIND_RAW_BUFFER);
2909 if (!int32_undef || !handle || !offset)
2920 const struct dxil_value *load = emit_bufferload_call(ctx, handle, coord, DXIL_I32);
2937 const struct dxil_value* handle = get_resource_handle(ctx, &intr->src[1], DXIL_RESOURCE_CLASS_UAV, DXIL_RESOURCE_KIND_RAW_BUFFER);
2940 if (!handle || !offset)
2970 return emit_bufferstore_call(ctx, handle, coord, value, write_mask, DXIL_I32);
2980 const struct dxil_value* handle = get_resource_handle(ctx, &intr->src[2], DXIL_RESOURCE_CLASS_UAV, DXIL_RESOURCE_KIND_RAW_BUFFER);
2983 if (!value || !mask || !handle || !offset)
2995 emit_atomic_binop(ctx, handle, DXIL_ATOMIC_AND, coord, mask) != NULL &&
2996 emit_atomic_binop(ctx, handle, DXIL_ATOMIC_OR, coord, value) != NULL;
3088 const struct dxil_value* handle = get_resource_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_CBV, DXIL_RESOURCE_KIND_CBUFFER);
3089 if (!handle)
3105 const struct dxil_value *agg = load_ubo(ctx, handle, offset, DXIL_F32);
3124 const struct dxil_value* handle = get_resource_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_CBV, DXIL_RESOURCE_KIND_CBUFFER);
3128 if (!handle || !offset)
3131 const struct dxil_value *agg = load_ubo(ctx, handle, offset, DXIL_I32);
3644 const struct dxil_value *handle = get_resource_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_UAV, DXIL_RESOURCE_KIND_TEXTURE2D);
3645 if (!handle)
3696 return emit_bufferstore_call(ctx, handle, coord, value, write_mask, overload);
3698 return emit_texturestore_call(ctx, handle, coord, value, write_mask, overload);
3704 const struct dxil_value *handle = get_resource_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_UAV, DXIL_RESOURCE_KIND_TEXTURE2D);
3705 if (!handle)
3739 load_result = emit_bufferload_call(ctx, handle, coord, overload);
3741 load_result = emit_textureload_call(ctx, handle, coord, overload);
3770 const struct dxil_value *handle = get_resource_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_UAV, DXIL_RESOURCE_KIND_TEXTURE2D);
3771 if (!handle)
3805 emit_atomic_binop(ctx, handle, op, coord, value);
3817 const struct dxil_value *handle = get_resource_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_UAV, DXIL_RESOURCE_KIND_TEXTURE2D);
3818 if (!handle)
3852 emit_atomic_cmpxchg(ctx, handle, coord, cmpval, newval);
3889 const struct dxil_value *handle = get_resource_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_UAV, DXIL_RESOURCE_KIND_TEXTURE2D);
3890 if (!handle)
3898 .tex = handle,
3923 const struct dxil_value *handle = get_resource_handle(ctx, &intr->src[0], class, DXIL_RESOURCE_KIND_RAW_BUFFER);
3924 if (!handle)
3928 .tex = handle,
3947 const struct dxil_value* handle = get_resource_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_UAV, DXIL_RESOURCE_KIND_RAW_BUFFER);
3953 if (!value || !handle || !offset)
3965 emit_atomic_binop(ctx, handle, op, coord, value);
3977 const struct dxil_value* handle = get_resource_handle(ctx, &intr->src[0], DXIL_RESOURCE_CLASS_UAV, DXIL_RESOURCE_KIND_RAW_BUFFER);
3985 if (!cmpval || !newval || !handle || !offset)
3997 emit_atomic_cmpxchg(ctx, handle, coord, cmpval, newval);
4124 const struct dxil_value *handle = NULL;
4146 handle = emit_createhandle_call(ctx, resource_class,
4150 store_dest_value(ctx, &intr->dest, 0, handle);
4451 * derefs will emit the necessary logic to handle scratch/shared GEP addressing
4515 const struct dxil_value *handle = emit_createhandle_call(ctx, res_class,
4517 if (!handle)
4520 store_dest_value(ctx, &instr->dest, 0, handle);
5107 /* handle then-block */
5114 /* handle else-block */
5646 /* TODO: handle depth outputs */