// Copyright 2023 The Dawn & Tint Authors
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice, this
//    list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice,
//    this list of conditions and the following disclaimer in the documentation
//    and/or other materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its
//    contributors may be used to endorse or promote products derived from
//    this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

////////////////////////////////////////////////////////////////////////////////
// Spirv builtin definition file                                              //
//                                                                            //
// After modifying this file, run:                                            //
//    tools/run gen                                                           //
// from the Dawn source directory.                                            //
//                                                                            //
// See docs/tint/intrinsic_definition_files.md for syntax                     //
////////////////////////////////////////////////////////////////////////////////

import "src/tint/lang/core/address_space.def"
import "src/tint/lang/core/access.def"
import "src/tint/lang/core/subgroup_matrix_kind.def"
import "src/tint/lang/core/texel_format.def"

type bool
type f32
type f16
type i32
type u32
type i8
type u8
type vec2<T>
type vec3<T>
type vec4<T>
type mat2x2<T>
type mat2x3<T>
type mat2x4<T>
type mat3x2<T>
type mat3x3<T>
type mat3x4<T>
type mat4x2<T>
type mat4x3<T>
type mat4x4<T>
@display("vec{N}<{T}>")     type vec<N: num, T>
@display("mat{N}x{M}<{T}>") type mat<N: num, M: num, T>
type atomic<T>
type sampler
type sampler_comparison
type ptr<S: address_space, T, A: access>

type struct_with_runtime_array

@ns("spirv::type") enum dim {
  d1
  d2
  d3
  Cube
  SubpassData
}

@ns("spirv::type") enum depth {
  NotDepth
  Depth
  Unknown
}

@ns("spirv::type") enum arrayed {
  NonArrayed
  Arrayed
}

@ns("spirv::type") enum multisampled {
  SingleSampled
  Multisampled
}

@ns("spirv::type") enum sampled {
  SamplingCompatible
  ReadWriteOpCompatible
}

type image<T, D: dim, E: depth, R: arrayed, M: multisampled, S: sampled, F: texel_format, A: access>
type sampled_image<T>

type subgroup_matrix<S: subgroup_matrix_kind, T, C: num, R: num>

match f32_f16: f32 | f16
match iu32: i32 | u32
match fiu32: f32 | i32 | u32
match fiu32_f16: f32 | i32 | u32 | f16
match scalar: f32 | f16 | i32 | u32 | bool
match iu32_iu8: i32 | u32 | i8 | u8
match iu8: i8 | u8

match storage
  : address_space.storage
match workgroup_or_storage
  : address_space.workgroup
  | address_space.storage

match function_private_workgroup_storage
  : address_space.function
  | address_space.private
  | address_space.workgroup
  | address_space.storage

match samplers
  : sampler
  | sampler_comparison

match f32_texel_format
  : texel_format.r8unorm
  | texel_format.bgra8unorm
  | texel_format.rgba8unorm
  | texel_format.rgba8snorm
  | texel_format.rgba16float
  | texel_format.r32float
  | texel_format.rg32float
  | texel_format.rgba32float
match i32_texel_format
  : texel_format.rgba8sint
  | texel_format.rgba16sint
  | texel_format.r32sint
  | texel_format.rg32sint
  | texel_format.rgba32sint
match u32_texel_format
  : texel_format.rgba8uint
  | texel_format.rgba16uint
  | texel_format.r32uint
  | texel_format.rg32uint
  | texel_format.rgba32uint

match read_write
  : access.read_write
match readable
  : access.read
  | access.read_write
match writable
  : access.write
  | access.read_write

match dim_1d : dim.d1
match dim_2d : dim.d2
match dim_3d : dim.d3
match dim_cube : dim.Cube
match dim_subpass : dim.SubpassData
match dim_1d_2d_3d_or_cube
  : dim.d1
  | dim.d2
  | dim.d3
  | dim.Cube

match single_sampled : multisampled.SingleSampled
match multi_sampled : multisampled.Multisampled

match is_depth : depth.Depth
match non_depth : depth.NotDepth | depth.Unknown
match any_depth : depth.Depth | depth.NotDepth | depth.Unknown

match is_arrayed: arrayed.Arrayed
match non_arrayed: arrayed.NonArrayed
match any_arrayed: arrayed.Arrayed | arrayed.NonArrayed

match sampling_compatible: sampled.SamplingCompatible
match rw_op_compatible : sampled.ReadWriteOpCompatible

match subgroup_matrix_kind_left : subgroup_matrix_kind.left
match subgroup_matrix_kind_right : subgroup_matrix_kind.right
match subgroup_matrix_kind_result : subgroup_matrix_kind.result

////////////////////////////////////////////////////////////////////////////////
// Builtin Functions                                                          //
////////////////////////////////////////////////////////////////////////////////
implicit(I: u32, A: access) fn array_length(ptr<storage, struct_with_runtime_array, A>, I) -> u32

/// Atomics when going from WGSL to SPIR-v, so we have an `atomic` type already
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_load(ptr<S, atomic<T>, read_write>, U, U) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_store(ptr<S, atomic<T>, read_write>, U, U, T)
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_exchange(ptr<S, atomic<T>, read_write>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_compare_exchange(ptr<S, atomic<T>, read_write>, U, U, U, T, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_i_add(ptr<S, atomic<T>, read_write>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_i_sub(ptr<S, atomic<T>, read_write>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_s_max(ptr<S, atomic<T>, read_write>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_s_min(ptr<S, atomic<T>, read_write>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_u_max(ptr<S, atomic<T>, read_write>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_u_min(ptr<S, atomic<T>, read_write>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_and(ptr<S, atomic<T>, read_write>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_or(ptr<S, atomic<T>, read_write>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_xor(ptr<S, atomic<T>, read_write>, U, U, T) -> T

/// Atomics when going from SPIR-V to WGSL when the atomics are all of type `T`
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_load(ptr<S, T, readable>, U, U) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_store(ptr<S, T, writable>, U, U, T)
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_exchange(ptr<S, T, writable>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_compare_exchange(ptr<S, T, writable>, U, U, U, T, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_i_increment(ptr<S, T, writable>, U, U) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_i_decrement(ptr<S, T, writable>, U, U) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_i_add(ptr<S, T, writable>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_i_sub(ptr<S, T, writable>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_s_min(ptr<S, T, writable>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_s_max(ptr<S, T, writable>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_u_min(ptr<S, T, writable>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_u_max(ptr<S, T, writable>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_and(ptr<S, T, writable>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_or(ptr<S, T, writable>, U, U, T) -> T
@stage("fragment", "compute") implicit(T: iu32, U: u32, S: workgroup_or_storage) fn atomic_xor(ptr<S, T, writable>, U, U, T) -> T

implicit(N: num, T: f32_f16) fn dot(vec<N, T>, vec<N, T>) -> T

//////////////////////////////////////////////
// Image Dref Gather
//////////////////////////////////////////////
implicit(F: texel_format)
fn image_dref_gather(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                     coords: vec2<f32>,
                     dref: f32,
                     image_operands: u32) -> vec4<f32>

implicit(F: texel_format, A: access, Z: iu32)
fn image_dref_gather(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                     coords: vec2<f32>,
                     dref: f32,
                     image_operands: u32,
                     const_offset: vec2<Z>) -> vec4<f32>

implicit(F: texel_format)
fn image_dref_gather(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                     coords: vec3<f32>,
                     dref: f32,
                     image_operands: u32) -> vec4<f32>

implicit(F: texel_format, A: access, Z: iu32)
fn image_dref_gather(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                     coords: vec3<f32>,
                     dref: f32,
                     image_operands: u32,
                     const_offset: vec2<Z>) -> vec4<f32>

implicit(F: texel_format)
fn image_dref_gather(image: sampled_image< image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                     coords: vec3<f32>,
                     dref: f32,
                     image_operands: u32) -> vec4<f32>

implicit(F: texel_format)
fn image_dref_gather(image: sampled_image< image<f32, dim_cube, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                     coords: vec4<f32>,
                     dref: f32,
                     image_operands: u32) -> vec4<f32>


//////////////////////////////////////////////
// Image Fetch
//////////////////////////////////////////////
implicit(T: fiu32, C: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords:C,
               image_operands: u32) -> vec4<T>

implicit(T: fiu32, C: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec2<C>,
               image_operands: u32) -> vec4<T>

implicit(T: fiu32, C: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec3<C>,
               image_operands: u32) -> vec4<T>

implicit(T: fiu32, C: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec3<C>,
               image_operands: u32) -> vec4<T>

implicit(T: fiu32, C: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_2d, non_depth, non_arrayed, multi_sampled, sampling_compatible, F, readable>,
               coords: vec2<C>,
               image_operands: u32) -> vec4<T>

implicit(C: iu32, F: texel_format)
fn image_fetch(image: image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec2<C>,
               image_operands: u32) -> vec4<f32>

implicit(C: iu32, F: texel_format)
fn image_fetch(image: image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec3<C>,
               image_operands: u32) -> vec4<f32>

implicit(C: iu32, F: texel_format)
fn image_fetch(image: image<f32, dim_2d, is_depth, non_arrayed, multi_sampled, sampling_compatible, F, readable>,
               coords: vec2<C>,
               image_operands: u32) -> vec4<f32>

implicit(T: fiu32, C: iu32, Z: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords:C,
               image_operands: u32,
               sample: Z) -> vec4<T>

implicit(T: fiu32, C: iu32, Z: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec2<C>,
               image_operands: u32,
               sample: Z) -> vec4<T>

implicit(T: fiu32, C: iu32, Z: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec3<C>,
               image_operands: u32,
               sample: Z) -> vec4<T>

implicit(T: fiu32, C: iu32, Z: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec3<C>,
               image_operands: u32,
               sample: Z) -> vec4<T>

implicit(T: fiu32, C: iu32, Z: iu32, F: texel_format)
fn image_fetch(image: image<T, dim_2d, non_depth, non_arrayed, multi_sampled, sampling_compatible, F, readable>,
               coords: vec2<C>,
               image_operands: u32,
               sample: Z) -> vec4<T>

implicit(C: iu32, Z: iu32, F: texel_format)
fn image_fetch(image: image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec2<C>,
               image_operands: u32,
               sample: Z) -> vec4<f32>

implicit(C: iu32, Z: iu32, F: texel_format)
fn image_fetch(image: image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>,
               coords: vec3<C>,
               image_operands: u32,
               sample: Z) -> vec4<f32>

implicit(C: iu32, Z: iu32, F: texel_format)
fn image_fetch(image: image<f32, dim_2d, is_depth, non_arrayed, multi_sampled, sampling_compatible, F, readable>,
               coords: vec2<C>,
               image_operands: u32,
               sample: Z) -> vec4<f32>

//////////////////////////////////////////////
// Image Gather
//////////////////////////////////////////////
implicit(T: fiu32, C: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec2<f32>,
                component: C,
                image_operands: u32) -> vec4<T>

implicit(T: fiu32, C: iu32, Z: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec2<f32>,
                component: C,
                image_operands: u32,
                const_offset: vec2<Z>) -> vec4<T>

implicit(T: fiu32, C: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec3<f32>,
                component: C,
                image_operands: u32) -> vec4<T>

implicit(T: fiu32, C: iu32, Z: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec3<f32>,
                component: C,
                image_operands: u32,
                const_offset: vec2<Z>) -> vec4<T>

implicit(T: fiu32, C: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec3<f32>,
                component: C,
                image_operands: u32) -> vec4<T>

implicit(T: fiu32, C: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec4<f32>,
                component: C,
                image_operands: u32) -> vec4<T>

implicit(C: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec2<f32>,
                component: C,
                image_operands: u32) -> vec4<f32>

implicit(C: iu32, Z: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec2<f32>,
                component: C,
                image_operands: u32,
                const_offset: vec2<Z>) -> vec4<f32>

implicit(C: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec3<f32>,
                component: C,
                image_operands: u32) -> vec4<f32>

implicit(C: iu32, Z: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec3<f32>,
                component: C,
                image_operands: u32,
                const_offset: vec2<Z>) -> vec4<f32>

implicit(C: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec3<f32>,
                component: C,
                image_operands: u32) -> vec4<f32>

implicit(C: iu32, F: texel_format)
fn image_gather(image: sampled_image< image<f32, dim_cube, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                coords: vec4<f32>,
                component: C,
                image_operands: u32) -> vec4<f32>

//////////////////////////////////////////////
// Image Query Size
//////////////////////////////////////////////
implicit(T: fiu32, F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<T, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> R

implicit(T: fiu32, F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<T, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec2<R>

implicit(T: fiu32, F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<T, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec3<R>

implicit(T: fiu32, F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<T, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec3<R>

implicit(T: fiu32, F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<T, dim_cube, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec2<R>

implicit(T: fiu32, F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<T, dim_cube, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec3<R>

implicit(T: fiu32, S: sampled, F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<T, dim_2d, non_depth, non_arrayed, multi_sampled, S, F, A>) -> vec2<R>

implicit(F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<f32, dim_2d, is_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec2<R>

implicit(F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<f32, dim_2d, is_depth, is_arrayed, single_sampled, rw_op_compatible, F, A> ) -> vec3<R>

implicit(F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<f32, dim_cube, is_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec2<R>

implicit(F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<f32, dim_cube, is_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec3<R>

implicit(S: sampled, F: texel_format, A: access)
fn image_query_size<R: iu32>(image: image<f32, dim_2d, is_depth, non_arrayed, multi_sampled, S, F, A>) -> vec2<R>


//////////////////////////////////////////////
// Image Query Size Lod
//////////////////////////////////////////////
implicit(T: fiu32, L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<T, dim_1d, non_depth, non_arrayed, single_sampled, S, F, A>,
                                 level: L) -> R

implicit(T: fiu32, L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<T, dim_2d, non_depth, non_arrayed, single_sampled, S, F, A>,
                                 level: L) -> vec2<R>

implicit(T: fiu32, L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<T, dim_2d, non_depth, is_arrayed, single_sampled, S, F, A>,
                                 level: L) -> vec3<R>

implicit(T: fiu32, L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<T, dim_3d, non_depth, non_arrayed, single_sampled, S, F, A>,
                                 level: L) -> vec3<R>

implicit(T: fiu32, L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<T, dim_cube, non_depth, non_arrayed, single_sampled, S, F, A>,
                                 level: L) -> vec2<R>

implicit(T: fiu32, L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<T, dim_cube, non_depth, is_arrayed, single_sampled, S, F, A>,
                                 level: L) -> vec3<R>

implicit(L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<f32, dim_2d, is_depth, non_arrayed, single_sampled, S, F, A>,
                                 level: L) -> vec2<R>

implicit(L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<f32, dim_2d, is_depth, is_arrayed, single_sampled, S, F, A>,
                                 level: L) -> vec3<R>

implicit(L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<f32, dim_cube, is_depth, non_arrayed, single_sampled, S, F, A>,
                                 level: L) -> vec2<R>

implicit(L: iu32, S: sampled, F: texel_format, A: access)
fn image_query_size_lod<R: iu32>(image: image<f32, dim_cube, is_depth, is_arrayed, single_sampled, S, F, A>,
                                 level: L) -> vec3<R>


//////////////////////////////////////////////
// Image Query Levels
//////////////////////////////////////////////
implicit(T: fiu32, D: depth, R: arrayed, S: sampled, F: texel_format, A: access)
fn image_query_levels<Z: iu32>(image: image<T, dim_1d_2d_3d_or_cube, D, R, single_sampled, S, F, A>) -> Z


//////////////////////////////////////////////
// Image Query Samples
//////////////////////////////////////////////
implicit(T: fiu32, D: depth, R: arrayed, S: sampled, F: texel_format, A: access)
fn image_query_samples<Z: iu32>(image: image<T, dim_2d, D, R, multi_sampled, S, F, A>) -> Z


//////////////////////////////////////////////
// Image Read
//////////////////////////////////////////////
implicit(F: f32_texel_format, A: readable, C: iu32)
fn image_read(image: image<f32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: C,
              image_operands: u32) -> vec4<f32>

implicit(F: i32_texel_format, A: readable, C: iu32)
fn image_read(image: image<i32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: C,
              image_operands: u32) -> vec4<i32>

implicit(F: u32_texel_format, A: readable, C: iu32)
fn image_read(image: image<u32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: C,
              image_operands: u32) -> vec4<u32>

implicit(F: f32_texel_format, A: readable, C: iu32)
fn image_read(image: image<f32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec2<C>,
              image_operands: u32) -> vec4<f32>

implicit(F: i32_texel_format, A: readable, C: iu32)
fn image_read(image: image<i32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec2<C>,
              image_operands: u32) -> vec4<i32>

implicit(F: u32_texel_format, A: readable, C: iu32)
fn image_read(image: image<u32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec2<C>,
              image_operands: u32) -> vec4<u32>

implicit(F: f32_texel_format, A: readable, C: iu32)
fn image_read(image: image<f32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec3<C>,
              image_operands: u32) -> vec4<f32>

implicit(F: i32_texel_format, A: readable, C: iu32)
fn image_read(image: image<i32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec3<C>,
              image_operands: u32) -> vec4<i32>

implicit(F: u32_texel_format, A: readable, C: iu32)
fn image_read(image: image<u32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec3<C>,
              image_operands: u32) -> vec4<u32>

implicit(F: f32_texel_format, A: readable, C: iu32)
fn image_read(image: image<f32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec3<C>,
              image_operands: u32) -> vec4<f32>

implicit(F: i32_texel_format, A: readable, C: iu32)
fn image_read(image: image<i32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec3<C>,
              image_operands: u32) -> vec4<i32>

implicit(F: u32_texel_format, A: readable, C: iu32)
fn image_read(image: image<u32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec3<C>,
              image_operands: u32) -> vec4<u32>

implicit(F: texel_format, T: fiu32, C: iu32, A: readable)
fn image_read(image: image<T, dim_subpass, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>,
              coords: vec2<C>) -> vec4<T>


//////////////////////////////////////////////
// Image Sample Implicit Lod
//////////////////////////////////////////////
implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                              coords: f32,
                              image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format, N: num)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                              coords: vec<N, f32>,
                              image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format, N: num)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                              coords: vec<N, f32>,
                              image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format, N: num)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             bias: f32) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format, N: num)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             bias: f32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format, N: num)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             bias: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             bias: f32) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             bias: f32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             bias: f32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             bias: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             bias: f32) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             bias: f32,
                             const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             bias: f32,
                             const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             bias: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             bias: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             bias: f32) -> vec4<f32>

implicit(F: texel_format, N: num)
fn image_sample_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32) -> vec4<f32>

implicit(Z: iu32, F: texel_format, N: num)
fn image_sample_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32) -> vec4<f32>

implicit(Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(Z: iu32, F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_implicit_lod(image: sampled_image< image<f32, dim_cube, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32) -> vec4<f32>


//////////////////////////////////////////////
// Image Sample Proj Implicit Lod
//////////////////////////////////////////////
implicit(T: fiu32, F: texel_format, N: num)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec<N, f32>,
                                  image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  bias: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  bias: f32) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  bias: f32,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  bias: f32,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  bias: f32) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  bias: f32,
                                  const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  const_offset: vec3<Z>) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32) -> vec4<f32>

implicit(Z: iu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(Z: iu32, F: texel_format)
fn image_sample_proj_implicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  const_offset: vec2<Z>) -> vec4<f32>

//////////////////////////////////////////////
// Image Sample Proj Dref Implicit Lod
//////////////////////////////////////////////
implicit(F: texel_format)
fn image_sample_proj_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                       coords: vec3<f32>,
                                       dref: f32,
                                       image_operands: u32) -> f32

implicit(F: texel_format)
fn image_sample_proj_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                       coords: vec4<f32>,
                                       dref: f32,
                                       image_operands: u32) -> f32

implicit(Z: iu32, F: texel_format)
fn image_sample_proj_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                       coords: vec3<f32>,
                                       dref: f32,
                                       image_operands: u32,
                                       const_offset: vec2<Z>) -> f32

implicit(Z: iu32, F: texel_format)
fn image_sample_proj_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                       coords: vec4<f32>,
                                       dref: f32,
                                       image_operands: u32,
                                       const_offset: vec2<Z>) -> f32


//////////////////////////////////////////////
// Image Sample Explicit Lod
//////////////////////////////////////////////
implicit(T: fiu32, F: texel_format, N: num)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: f32,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format, N: num)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format, N: num)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             ddx: vec2<f32>,
                             ddy: vec2<f32>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format, N: num)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format, N: num)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             ddx: vec2<f32>,
                             ddy: vec2<f32>,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             ddx: vec2<f32>,
                             ddy: vec2<f32>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             ddx: vec2<f32>,
                             ddy: vec2<f32>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             ddx: vec2<f32>,
                             ddy: vec2<f32>,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             ddx: vec2<f32>,
                             ddy: vec2<f32>,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             ddx: vec3<f32>,
                             ddy: vec3<f32>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             ddx: vec3<f32>,
                             ddy: vec3<f32>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             ddx: vec3<f32>,
                             ddy: vec3<f32>,
                             const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             ddx: vec3<f32>,
                             ddy: vec3<f32>,
                             const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             ddx: vec3<f32>,
                             ddy: vec3<f32>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             ddx: vec3<f32>,
                             ddy: vec3<f32>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             ddx: vec3<f32>,
                             ddy: vec3<f32>) -> vec4<f32>

implicit(F: texel_format, N: num)
fn image_sample_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(Z: iu32, F: texel_format, N: num)
fn image_sample_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(Z: iu32, F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec2<Z>) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_explicit_lod(image: sampled_image< image<f32, dim_cube, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             image_operands: u32,
                             lod: f32) -> vec4<f32>


//////////////////////////////////////////////
// Image Sample Proj Explicit Lod
//////////////////////////////////////////////
implicit(T: fiu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  ddx: vec2<f32>,
                                  ddy: vec2<f32>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  ddx: vec2<f32>,
                                  ddy: vec2<f32>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  lod: f32,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  lod: f32,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  ddx: vec2<f32>,
                                  ddy: vec2<f32>,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  ddx: vec2<f32>,
                                  ddy: vec2<f32>,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  lod: f32) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  ddx: vec3<f32>,
                                  ddy: vec3<f32>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  lod: f32,
                                  const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, Z: iu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  ddx: vec3<f32>,
                                  ddy: vec3<f32>,
                                  const_offset: vec3<Z>) -> vec4<f32>

implicit(T: fiu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  lod: f32) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  lod: f32) -> vec4<f32>

implicit(F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  lod: f32) -> vec4<f32>

implicit(Z: iu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec3<f32>,
                                  image_operands: u32,
                                  lod: f32,
                                  const_offset: vec2<Z>) -> vec4<f32>

implicit(Z: iu32, F: texel_format)
fn image_sample_proj_explicit_lod(image: sampled_image< image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                  coords: vec4<f32>,
                                  image_operands: u32,
                                  lod: f32,
                                  const_offset: vec2<Z>) -> vec4<f32>

//////////////////////////////////////////////
// Image Sample Proj Dref Explicit Lod
//////////////////////////////////////////////
implicit(F: texel_format)
fn image_sample_proj_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                       coords: vec3<f32>,
                                       dref: f32,
                                       image_operands: u32,
                                       lod: f32) -> f32

implicit(F: texel_format)
fn image_sample_proj_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                       coords: vec4<f32>,
                                       dref: f32,
                                       image_operands: u32,
                                       lod: f32) -> f32

implicit(Z: iu32, F: texel_format)
fn image_sample_proj_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                       coords: vec3<f32>,
                                       dref: f32,
                                       image_operands: u32,
                                       lod: f32,
                                       const_offset: vec2<Z>) -> f32

implicit(Z: iu32, F: texel_format)
fn image_sample_proj_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                                       coords: vec4<f32>,
                                       dref: f32,
                                       image_operands: u32,
                                       lod: f32,
                                       const_offset: vec2<Z>) -> f32

//////////////////////////////////////////////
// Image Sample Dref Implicit Lod
//////////////////////////////////////////////
implicit(F: texel_format, N: num)
fn image_sample_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             dref: f32,
                             image_operands: u32) -> f32

implicit(Z: iu32, F: texel_format, N: num)
fn image_sample_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             dref: f32,
                             image_operands: u32,
                             const_offset: vec2<Z>) -> f32

implicit(F: texel_format)
fn image_sample_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             dref: f32,
                             image_operands: u32) -> f32

implicit(F: texel_format)
fn image_sample_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             dref: f32,
                             image_operands: u32) -> f32

implicit(Z: iu32, F: texel_format)
fn image_sample_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             dref: f32,
                             image_operands: u32,
                             const_offset: vec2<Z>) -> f32

implicit(Z: iu32, F: texel_format)
fn image_sample_dref_implicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             dref: f32,
                             image_operands: u32,
                             const_offset: vec2<Z>) -> f32

implicit(F: texel_format)
fn image_sample_dref_implicit_lod(image: sampled_image< image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             dref: f32,
                             image_operands: u32) -> f32

implicit(F: texel_format)
fn image_sample_dref_implicit_lod(image: sampled_image< image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             dref: f32,
                             image_operands: u32) -> f32

implicit(F: texel_format)
fn image_sample_dref_implicit_lod(image: sampled_image< image<f32, dim_cube, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             dref: f32,
                             image_operands: u32) -> f32


//////////////////////////////////////////////
// Image Sample Dref Explicit Lod
//////////////////////////////////////////////
implicit(F: texel_format, N: num)
fn image_sample_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             dref: f32,
                             image_operands: u32,
                             lod: f32) -> f32

implicit(Z: iu32, F: texel_format, N: num)
fn image_sample_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec<N, f32>,
                             dref: f32,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec2<Z>) -> f32

implicit(F: texel_format)
fn image_sample_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             dref: f32,
                             image_operands: u32,
                             lod: f32) -> f32

implicit(F: texel_format)
fn image_sample_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             dref: f32,
                             image_operands: u32,
                             lod: f32) -> f32

implicit(Z: iu32, F: texel_format)
fn image_sample_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             dref: f32,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec2<Z>) -> f32

implicit(Z: iu32, F: texel_format)
fn image_sample_dref_explicit_lod(image: sampled_image< image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             dref: f32,
                             image_operands: u32,
                             lod: f32,
                             const_offset: vec2<Z>) -> f32

implicit(F: texel_format)
fn image_sample_dref_explicit_lod(image: sampled_image< image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec3<f32>,
                             dref: f32,
                             image_operands: u32,
                             lod: f32) -> f32

implicit(F: texel_format)
fn image_sample_dref_explicit_lod(image: sampled_image< image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             dref: f32,
                             image_operands: u32,
                             lod: f32) -> f32

implicit(F: texel_format)
fn image_sample_dref_explicit_lod(image: sampled_image< image<f32, dim_cube, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable> >,
                             coords: vec4<f32>,
                             dref: f32,
                             image_operands: u32,
                             lod: f32) -> f32


//////////////////////////////////////////////
// Image Write
//////////////////////////////////////////////
implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<f32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, f32_texel_format, writable>,
               coords: C,
               texel: vec4<f32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<i32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, i32_texel_format, writable>,
               coords: C,
               texel: vec4<i32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<u32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, u32_texel_format, writable>,
               coords: C,
               texel: vec4<u32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<f32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, f32_texel_format, writable>,
               coords: vec2<C>,
               texel: vec4<f32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<i32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, i32_texel_format, writable>,
               coords: vec2<C>,
               texel: vec4<i32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<u32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, u32_texel_format, writable>,
               coords: vec2<C>,
               texel: vec4<u32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<f32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, f32_texel_format, writable>,
               coords: vec3<C>,
               texel: vec4<f32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<i32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, i32_texel_format, writable>,
               coords: vec3<C>,
               texel: vec4<i32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<u32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, u32_texel_format, writable>,
               coords: vec3<C>,
               texel: vec4<u32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<f32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, f32_texel_format, writable>,
               coords: vec3<C>,
               texel: vec4<f32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<i32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, i32_texel_format, writable>,
               coords: vec3<C>,
               texel: vec4<i32>,
               image_operands: u32)

implicit(C: iu32, F: texel_format, A: access)
fn image_write(image: image<u32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, u32_texel_format, writable>,
               coords: vec3<C>,
               texel: vec4<u32>,
               image_operands: u32)

//////////////////////////////////////////////
// Image
//////////////////////////////////////////////
implicit(T: fiu32, F: texel_format)
  fn image<I: image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >(sampled_image<I>) -> I
implicit(T: fiu32, F: texel_format)
  fn image<I: image<T, dim_2d, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable> >(sampled_image<I>) -> I
implicit(T: fiu32, F: texel_format, I: image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>)
  fn image(sampled_image<I>) -> I
implicit(T: fiu32, F: texel_format, I: image<T, dim_cube, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>)
  fn image(sampled_image<I>) -> I
implicit(F: texel_format, I: image<f32, dim_2d, is_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>)
  fn image(sampled_image<I>) -> I
implicit(F: texel_format, I: image<f32, dim_cube, is_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>)
  fn image(sampled_image<I>) -> I

//////////////////////////////////////////////
// Sampled Image
//////////////////////////////////////////////
implicit(T: fiu32, S: samplers, F: texel_format)
  fn sampled_image<I: image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >(I, S) -> sampled_image<I>
implicit(T: fiu32, S: samplers, F: texel_format)
  fn sampled_image<I: image<T, dim_2d, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable> >(I, S) -> sampled_image<I>
implicit(T: fiu32, S: samplers, F: texel_format)
  fn sampled_image<I: image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable> >(I, S) -> sampled_image<I>
implicit(T: fiu32, S: samplers, F: texel_format)
  fn sampled_image<I: image<T, dim_cube, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable> >(I, S) -> sampled_image<I>
implicit(S: samplers, F: texel_format)
  fn sampled_image<I: image<f32, dim_2d, is_depth, any_arrayed, single_sampled, sampling_compatible, F, readable> >(I, S) -> sampled_image<I>
implicit(S: samplers, F: texel_format)
  fn sampled_image<I: image<f32, dim_cube, is_depth, any_arrayed, single_sampled, sampling_compatible, F, readable> >(I, S) -> sampled_image<I>


implicit(T: f32_f16, K: num, C: num, R: num) fn matrix_times_matrix(mat<K, R, T>, mat<C, K, T>) -> mat<C, R, T>
implicit(T: f32_f16, N: num, M: num) fn matrix_times_scalar(mat<N, M, T>, T) -> mat<N, M, T>
implicit(T: f32_f16, N: num, M: num) fn matrix_times_vector(mat<N, M, T>, vec<N, T>) -> vec<M, T>


implicit(T: scalar) fn select(bool, T, T) -> T
implicit(N: num, T: scalar) fn select(bool, vec<N, T>, vec<N, T>) -> vec<N, T>
implicit(N: num, T: scalar) fn select(vec<N, bool>, vec<N, T>, vec<N, T>) -> vec<N, T>

implicit(T: f32_f16, N: num, M: num) fn vector_times_matrix(vec<N, T>, mat<M, N, T>) -> vec<M, T>
implicit(T: f32_f16, N: num) fn vector_times_scalar(vec<N, T>, T) -> vec<N, T>

implicit(T: f32_f16) fn normalize(T) -> T
implicit(N: num, T: f32_f16) fn normalize(vec<N, T>) -> vec<N, T>

implicit(T: f32_f16) fn inverse(mat2x2<T>) -> mat2x2<T>
implicit(T: f32_f16) fn inverse(mat3x3<T>) -> mat3x3<T>
implicit(T: f32_f16) fn inverse(mat4x4<T>) -> mat4x4<T>

implicit(T: iu32) fn sign<R: iu32>(T) -> R
implicit(T: iu32, N: num) fn sign<R: iu32>(vec<N, T>) -> vec<N, R>

implicit(T: iu32) fn abs<R: iu32>(T) -> R
implicit(T: iu32, N: num) fn abs<R: iu32>(vec<N, T>) -> vec<N, R>

implicit(T: iu32, U: iu32) fn s_max<R: iu32>(T, U) -> R
implicit(T: iu32, U: iu32, N: num) fn s_max<R: iu32>(vec<N, T>, vec<N, U>) -> vec<N, R>
implicit(T: iu32, U: iu32) fn s_min<R: iu32>(T, U) -> R
implicit(T: iu32, U: iu32, N: num) fn s_min<R: iu32>(vec<N, T>, vec<N, U>) -> vec<N, R>
implicit(T: iu32, U: iu32, V: iu32) fn s_clamp<R: iu32>(T, U, V) -> R
implicit(T: iu32, U: iu32, V: iu32, N: num) fn s_clamp<R: iu32>(vec<N, T>, vec<N, U>,  vec<N, V>) -> vec<N, R>

implicit(T: iu32, U: iu32) fn u_max<R: iu32>(T, U) -> R
implicit(T: iu32, U: iu32, N: num) fn u_max<R: iu32>(vec<N, T>, vec<N, U>) -> vec<N, R>
implicit(T: iu32, U: iu32) fn u_min<R: iu32>(T, U) -> R
implicit(T: iu32, U: iu32, N: num) fn u_min<R: iu32>(vec<N, T>, vec<N, U>) -> vec<N, R>
implicit(T: iu32, U: iu32, V: iu32) fn u_clamp<R: iu32>(T, U, V) -> R
implicit(T: iu32, U: iu32, V: iu32, N: num) fn u_clamp<R: iu32>(vec<N, T>, vec<N, U>,  vec<N, V>) -> vec<N, R>

implicit(T: iu32) fn find_i_lsb<R: iu32>(T) -> R
implicit(T: iu32, N: num) fn find_i_lsb<R: iu32>(vec<N, T>) -> vec<N, R>
implicit(T: iu32) fn find_s_msb<R: iu32>(T) -> R
implicit(T: iu32, N: num) fn find_s_msb<R: iu32>(vec<N, T>) -> vec<N, R>
implicit(T: iu32) fn find_u_msb<R: iu32>(T) -> R
implicit(T: iu32, N: num) fn find_u_msb<R: iu32>(vec<N, T>) -> vec<N, R>

implicit(T: f32_f16) fn refract(T, T, T) -> T
implicit(T: f32_f16, N: num) fn refract(vec<N, T>, vec<N, T>, T) -> vec<N, T>
implicit(T: f32_f16) fn reflect(T, T) -> T
implicit(T: f32_f16, N: num) fn reflect(vec<N, T>, vec<N, T>) -> vec<N, T>

implicit(T: f32_f16) fn face_forward(T, T, T) -> T
implicit(T: f32_f16, N: num) fn face_forward(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T>

implicit(T: f32_f16, U: iu32) fn ldexp(T, U) -> T
implicit(N: num, T: f32_f16, U: iu32) fn ldexp(vec<N, T>, vec<N, U>) -> vec<N, T>

implicit(T: f32_f16, S: function_private_workgroup_storage)
    fn modf(x: T, i: ptr<S, T, writable>) -> T
implicit(T: f32_f16, N: num, S: function_private_workgroup_storage)
    fn modf(x: vec<N, T>, i: ptr<S, vec<N, T>, writable>) -> vec<N, T>

implicit(T: f32_f16, R: iu32, S: function_private_workgroup_storage)
    fn frexp(x: T, i: ptr<S, R, writable>) -> T
implicit(T: f32_f16, R: iu32, N: num, S: function_private_workgroup_storage)
    fn frexp(x: vec<N, T>, i: ptr<S, vec<N, R>, writable>) -> vec<N, T>

implicit(T: iu32) fn bit_count<R: iu32>(T) -> R
implicit(T: iu32, N: num) fn bit_count<R: iu32>(vec<N, T>) -> vec<N, R>

implicit(T: iu32) fn bit_field_insert(base: T, insert: T, offset: iu32, count: iu32) -> T
implicit(T: iu32, N: num)
    fn bit_field_insert(base: vec<N, T>, insert: vec<N, T>, offset: iu32, count: iu32) -> vec<N, T>

implicit(T: iu32) fn bit_field_s_extract(base: T, offset: iu32, count: iu32) -> T
implicit(T: iu32, N: num)
    fn bit_field_s_extract(base: vec<N, T>, offset: iu32, count: iu32) -> vec<N, T>

implicit(T: iu32) fn bit_field_u_extract(base: T, offset: iu32, count: iu32) -> T
implicit(T: iu32, N: num)
    fn bit_field_u_extract(base: vec<N, T>, offset: iu32, count: iu32) -> vec<N, T>

implicit(A: iu32, B: iu32) fn add<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32) fn sub<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32) fn mul<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32) fn s_div<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32) fn s_mod<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32, N: num) fn add<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>
implicit(A: iu32, B: iu32, N: num) fn sub<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>
implicit(A: iu32, B: iu32, N: num) fn mul<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>
implicit(A: iu32, B: iu32, N: num) fn s_div<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>
implicit(A: iu32, B: iu32, N: num) fn s_mod<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>

implicit(A: iu32, B: iu32) fn s_greater_than(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn s_greater_than(vec<N, A>, vec<N, B>) -> vec<N, bool>
implicit(A: iu32, B: iu32) fn s_greater_than_equal(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn s_greater_than_equal(vec<N, A>, vec<N, B>) -> vec<N, bool>
implicit(A: iu32, B: iu32) fn s_less_than(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn s_less_than(vec<N, A>, vec<N, B>) -> vec<N, bool>
implicit(A: iu32, B: iu32) fn s_less_than_equal(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn s_less_than_equal(vec<N, A>, vec<N, B>) -> vec<N, bool>

implicit(A: iu32, B: iu32) fn u_greater_than(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn u_greater_than(vec<N, A>, vec<N, B>) -> vec<N, bool>
implicit(A: iu32, B: iu32) fn u_greater_than_equal(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn u_greater_than_equal(vec<N, A>, vec<N, B>) -> vec<N, bool>
implicit(A: iu32, B: iu32) fn u_less_than(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn u_less_than(vec<N, A>, vec<N, B>) -> vec<N, bool>
implicit(A: iu32, B: iu32) fn u_less_than_equal(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn u_less_than_equal(vec<N, A>, vec<N, B>) -> vec<N, bool>

implicit(T: f32_f16) fn convert_f_to_s<R: iu32>(T) -> R
implicit(T: f32_f16, N: num) fn convert_f_to_s<R: iu32>(vec<N, T>) -> vec<N, R>
implicit(T: iu32) fn convert_s_to_f<R: f32_f16>(T) -> R
implicit(T: iu32, N: num) fn convert_s_to_f<R: f32_f16>(vec<N, T>) -> vec<N, R>
implicit(T: iu32) fn convert_u_to_f<R: f32_f16>(T) -> R
implicit(T: iu32, N: num) fn convert_u_to_f<R: f32_f16>(vec<N, T>) -> vec<N, R>

implicit(A: iu32, B: iu32) fn bitwise_and<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32, N: num) fn bitwise_and<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>
implicit(A: iu32, B: iu32) fn bitwise_or<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32, N: num) fn bitwise_or<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>
implicit(A: iu32, B: iu32) fn bitwise_xor<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32, N: num) fn bitwise_xor<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>

implicit(A: iu32, B: iu32) fn equal(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn equal(vec<N, A>, vec<N, B>) -> vec<N, bool>
implicit(A: iu32, B: iu32) fn not_equal(A, B) -> bool
implicit(A: iu32, B: iu32, N: num) fn not_equal(vec<N, A>, vec<N, B>) -> vec<N, bool>

implicit(A: iu32, B: iu32) fn shift_left_logical<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32, N: num) fn shift_left_logical<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>
implicit(A: iu32, B: iu32) fn shift_right_logical<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32, N: num) fn shift_right_logical<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>
implicit(A: iu32, B: iu32) fn shift_right_arithmetic<R: iu32>(A, B) -> R
implicit(A: iu32, B: iu32, N: num) fn shift_right_arithmetic<R: iu32>(vec<N, A>, vec<N, B>) -> vec<N, R>

implicit(A: iu32) fn not<R: iu32>(A) -> R
implicit(A: iu32, N: num) fn not<R: iu32>(vec<N, A>) -> vec<N, R>

implicit(A: iu32) fn s_negate<R: iu32>(A) -> R
implicit(A: iu32, N: num) fn s_negate<R: iu32>(vec<N, A>) -> vec<N, R>

implicit(T: f32_f16) fn f_mod(T, T) -> T
implicit(T: f32_f16, N: num) fn f_mod(vec<N, T>, vec<N, T>) -> vec<N, T>

implicit(T: f32_f16, N: num, M: num) fn outer_product(vec<N, T>, vec<M, T>) -> mat<M, N, T>

////////////////////////////////////////////////////////////////////////////////
// SPV_KHR_integer_dot_product instructions
////////////////////////////////////////////////////////////////////////////////
fn s_dot(u32, u32, u32) -> i32
fn u_dot(u32, u32, u32) -> u32

////////////////////////////////////////////////////////////////////////////////
// SPV_KHR_cooperative_matrix instructions
////////////////////////////////////////////////////////////////////////////////
@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num)
  fn cooperative_matrix_load<T: subgroup_matrix<K, S, C, R> >(
    ptr<workgroup_or_storage, S, readable>, u32, u32, u32) -> T
@stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num)
  fn cooperative_matrix_load<T: subgroup_matrix<K, S, C, R> >(
    ptr<workgroup_or_storage, i32, readable>, u32, u32, u32) -> T
@stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num)
  fn cooperative_matrix_load<T: subgroup_matrix<K, S, C, R> >(
    ptr<workgroup_or_storage, u32, readable>, u32, u32, u32) -> T
@stage("compute") implicit(K: subgroup_matrix_kind, S: fiu32_f16, C: num, R: num)
  fn cooperative_matrix_store(
    ptr<workgroup_or_storage, S, writable>, subgroup_matrix<K, S, C, R>, u32, u32, u32)
@stage("compute") implicit(K: subgroup_matrix_kind, S: i8, C: num, R: num)
  fn cooperative_matrix_store(
    ptr<workgroup_or_storage, i32, writable>, subgroup_matrix<K, S, C, R>, u32, u32, u32)
@stage("compute") implicit(K: subgroup_matrix_kind, S: u8, C: num, R: num)
  fn cooperative_matrix_store(
    ptr<workgroup_or_storage, u32, writable>, subgroup_matrix<K, S, C, R>, u32, u32, u32)
@must_use @stage("compute") implicit(T: f16, TR: f32_f16, C: num, R: num, K: num)
  fn cooperative_matrix_mul_add(
    subgroup_matrix<subgroup_matrix_kind_left, T, K, R>,
    subgroup_matrix<subgroup_matrix_kind_right, T, C, K>,
    subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>,
    u32)
    -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>
@must_use @stage("compute") implicit(T: f32, TR: f32, C: num, R: num, K: num)
  fn cooperative_matrix_mul_add(
    subgroup_matrix<subgroup_matrix_kind_left, T, K, R>,
    subgroup_matrix<subgroup_matrix_kind_right, T, C, K>,
    subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>,
    u32)
    -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>
@must_use @stage("compute") implicit(T: iu32, TR: iu32, C: num, R: num, K: num)
  fn cooperative_matrix_mul_add(
    subgroup_matrix<subgroup_matrix_kind_left, T, K, R>,
    subgroup_matrix<subgroup_matrix_kind_right, T, C, K>,
    subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>,
    u32)
    -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>
@must_use @stage("compute") implicit(T: iu8, TR: iu32_iu8, C: num, R: num, K: num)
  fn cooperative_matrix_mul_add(
    subgroup_matrix<subgroup_matrix_kind_left, T, K, R>,
    subgroup_matrix<subgroup_matrix_kind_right, T, C, K>,
    subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>,
    u32)
    -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>

