break;
case SpvOpImageQuerySize:
+ case SpvOpImageQuerySamples:
res_val = vtn_untyped_value(b, w[3]);
image.image = vtn_get_image(b, w[3], &access);
image.coord = NULL;
OP(AtomicFMaxEXT, atomic_fmax)
OP(ImageQueryFormat, format)
OP(ImageQueryOrder, order)
+ OP(ImageQuerySamples, samples)
#undef OP
default:
vtn_fail_with_opcode("Invalid image opcode", opcode);
intrin->src[0] = nir_src_for_ssa(&image.image->dest.ssa);
switch (opcode) {
+ case SpvOpImageQuerySamples:
case SpvOpImageQuerySize:
case SpvOpImageQuerySizeLod:
case SpvOpImageQueryFormat:
nir_intrinsic_set_access(intrin, access);
switch (opcode) {
+ case SpvOpImageQuerySamples:
case SpvOpImageQueryFormat:
case SpvOpImageQueryOrder:
/* No additional sources */
case SpvOpImageSparseDrefGather:
case SpvOpImageQueryLod:
case SpvOpImageQueryLevels:
- case SpvOpImageQuerySamples:
vtn_handle_texture(b, opcode, w, count);
break;
vtn_handle_image(b, opcode, w, count);
break;
+ case SpvOpImageQuerySamples:
case SpvOpImageQuerySizeLod:
case SpvOpImageQuerySize: {
struct vtn_type *image_type = vtn_get_value_type(b, w[3]);