spec@arb_seamless_cube_map@arb_seamless_cubemap,Fail
spec@arb_shader_atomic_counters@semantics,Fail
spec@arb_shader_atomic_counters@semantics@Tessellation control shader atomic built-in semantics,Fail
-spec@arb_shader_image_size@builtin,Crash
-spec@arb_texture_buffer_object@texture-buffer-size-clamp,Crash
spec@arb_texture_buffer_object@texture-buffer-size-clamp@r8ui_texture_buffer_size_via_sampler,Fail
+spec@arb_texture_buffer_object@texture-buffer-size-clamp@r8ui_texture_buffer_size_via_image,Fail
spec@arb_texture_buffer_range@ranges-2,Fail
spec@arb_texture_buffer_range@ranges-2 compat,Fail
spec@arb_texture_cube_map_array@arb_texture_cube_map_array-sampler-cube-array-shadow,Fail
if (!handle)
return false;
- const struct dxil_value *lod = get_src(ctx, &intr->src[1], 0, nir_type_uint);
+ enum glsl_sampler_dim sampler_dim = intr->intrinsic == nir_intrinsic_image_deref_size ?
+ glsl_get_sampler_dim(nir_src_as_deref(intr->src[0])->type) :
+ nir_intrinsic_image_dim(intr);
+ const struct dxil_value *lod = sampler_dim == GLSL_SAMPLER_DIM_BUF ?
+ dxil_module_get_undef(&ctx->mod, dxil_module_get_int_type(&ctx->mod, 32)) :
+ get_src(ctx, &intr->src[1], 0, nir_type_uint);
if (!lod)
return false;