spirv-webgpu-transform 0.1.5

Transform SPIRV to be webgpu friendly
Documentation
pub const SPV_HEADER_LENGTH: usize = 5;
pub const SPV_HEADER_MAGIC: u32 = 0x07230203;
pub const SPV_HEADER_MAGIC_NUM_OFFSET: usize = 0;
pub const SPV_HEADER_INSTRUCTION_BOUND_OFFSET: usize = 3;

pub const SPV_INSTRUCTION_OP_NOP: u16 = 1;
pub const SPV_INSTRUCTION_OP_NAME: u16 = 5;
pub const SPV_INSTRUCTION_OP_TYPE_VOID: u16 = 19;
pub const SPV_INSTRUCTION_OP_TYPE_BOOL: u16 = 20;
pub const SPV_INSTRUCTION_OP_TYPE_INT: u16 = 21;
pub const SPV_INSTRUCTION_OP_TYPE_FLOAT: u16 = 22;
pub const SPV_INSTRUCTION_OP_TYPE_VECTOR: u16 = 23;
pub const SPV_INSTRUCTION_OP_TYPE_MATRIX: u16 = 24;
pub const SPV_INSTRUCTION_OP_TYPE_IMAGE: u16 = 25;
pub const SPV_INSTRUCTION_OP_TYPE_SAMPLER: u16 = 26;
pub const SPV_INSTRUCTION_OP_TYPE_SAMPLED_IMAGE: u16 = 27;
pub const SPV_INSTRUCTION_OP_TYPE_ARRAY: u16 = 28;
pub const SPV_INSTRUCTION_OP_TYPE_STRUCT: u16 = 30;
pub const SPV_INSTRUCTION_OP_TYPE_POINTER: u16 = 32;
pub const SPV_INSTRUCTION_OP_TYPE_FUNCTION: u16 = 33;
pub const SPV_INSTRUCTION_OP_CONSTANT: u16 = 43;
pub const SPV_INSTRUCTION_OP_FUNCTION_PARAMETER: u16 = 55;
pub const SPV_INSTRUCTION_OP_FUNCTION_CALL: u16 = 57;
pub const SPV_INSTRUCTION_OP_FUNCTION_END: u16 = 56;
pub const SPV_INSTRUCTION_OP_FUNCTION: u16 = 54;
pub const SPV_INSTRUCTION_OP_VARIABLE: u16 = 59;
pub const SPV_INSTRUCTION_OP_LOAD: u16 = 61;
pub const SPV_INSTRUCTION_OP_STORE: u16 = 62;
pub const SPV_INSTRUCTION_OP_COPY_MEMORY: u16 = 63;
pub const SPV_INSTRUCTION_OP_ACCESS_CHAIN: u16 = 65;
pub const SPV_INSTRUCTION_OP_IN_BOUNDS_ACCESS_CHAIN: u16 = 66;
pub const SPV_INSTRUCTION_OP_DECORATE: u16 = 71;
pub const SPV_INSTRUCTION_OP_MEMBER_DECORATE: u16 = 72;
pub const SPV_INSTRUCTION_OP_COMPOSITE_CONSTRUCT: u16 = 80;
pub const SPV_INSTRUCTION_OP_SAMPLED_IMAGE: u16 = 86;
pub const SPV_INSTRUCTION_OP_BITCAST: u16 = 124;
pub const SPV_INSTRUCTION_OP_LABEL: u16 = 248;
pub const SPV_INSTRUCTION_OP_RETURN_VALUE: u16 = 254;

pub const SPV_INSTRUCTION_OP_IMAGE_SAMPLE_IMPLICIT_LOD: u16 = 87;
pub const SPV_INSTRUCTION_OP_IMAGE_SAMPLE_EXPLICIT_LOD: u16 = 88;
pub const SPV_INSTRUCTION_OP_IMAGE_SAMPLE_PROJ_IMPLICIT_LOD: u16 = 91;
pub const SPV_INSTRUCTION_OP_IMAGE_SAMPLE_PROJ_EXPLICIT_LOD: u16 = 92;
pub const SPV_INSTRUCTION_OP_IMAGE_GATHER: u16 = 96;
pub const SPV_INSTRUCTION_OP_IMAGE_SPARSE_SAMPLE_IMPLICIT_LOD: u16 = 305;
pub const SPV_INSTRUCTION_OP_IMAGE_SPARSE_SAMPLE_EXPLICIT_LOD: u16 = 306;
pub const SPV_INSTRUCTION_OP_IMAGE_SPARSE_GATHER: u16 = 314;

pub const SPV_INSTRUCTION_OP_IMAGE_SAMPLE_DREF_IMPLICIT_LOD: u16 = 89;
pub const SPV_INSTRUCTION_OP_IMAGE_SAMPLE_DREF_EXPLICIT_LOD: u16 = 90;
pub const SPV_INSTRUCTION_OP_IMAGE_SAMPLE_PROJ_DREF_IMPLICIT_LOD: u16 = 93;
pub const SPV_INSTRUCTION_OP_IMAGE_SAMPLE_PROJ_DREF_EXPLICIT_LOD: u16 = 94;
pub const SPV_INSTRUCTION_OP_IMAGE_DREF_GATHER: u16 = 97;
pub const SPV_INSTRUCTION_OP_IMAGE_SPARSE_SAMPLE_DREF_IMPLICIT_LOD: u16 = 307;
pub const SPV_INSTRUCTION_OP_IMAGE_SPARSE_SAMPLE_DREF_EXPLICIT_LOD: u16 = 308;
pub const SPV_INSTRUCTION_OP_IMAGE_SPARSE_DREF_GATHER: u16 = 315;

pub const SPV_INSTRUCTION_OP_IS_NAN: u16 = 156;
pub const SPV_INSTRUCTION_OP_IS_INF: u16 = 157;
pub const SPV_INSTRUCTION_OP_LOGICAL_AND: u16 = 167;
pub const SPV_INSTRUCTION_OP_I_EQUAL: u16 = 170;
pub const SPV_INSTRUCTION_OP_I_NOT_EQUAL: u16 = 171;
pub const SPV_INSTRUCTION_OP_SHIFT_RIGHT_LOGICAL: u16 = 194;
pub const SPV_INSTRUCTION_OP_BITWISE_AND: u16 = 199;

pub const SPV_INSTRUCTION_OP_EXT_INST_IMPORT: u16 = 11;
pub const SPV_INSTRUCTION_OP_EXT_INST: u16 = 12;
pub const SPV_INSTRUCTION_OP_COMPOSITE_EXTRACT: u16 = 81;
pub const SPV_INSTRUCTION_OP_IMAGE_FETCH: u16 = 95;
pub const SPV_INSTRUCTION_OP_IMAGE_TEXEL_POINTER: u16 = 67;
pub const SPV_INSTRUCTION_OP_IMAGE_READ: u16 = 98;
pub const SPV_INSTRUCTION_OP_IMAGE_WRITE: u16 = 99;
pub const SPV_INSTRUCTION_OP_IMAGE_SPARSE_READ: u16 = 320;
pub const SPV_INSTRUCTION_OP_S_NEGATE: u16 = 126;
pub const SPV_INSTRUCTION_OP_SELECT: u16 = 169;
pub const SPV_INSTRUCTION_OP_S_GREATER_THAN: u16 = 173;
pub const SPV_INSTRUCTION_OP_S_GREATER_THAN_EQUAL: u16 = 175;
pub const SPV_INSTRUCTION_OP_PHI: u16 = 245;
pub const SPV_INSTRUCTION_OP_SELECTION_MERGE: u16 = 247;
pub const SPV_INSTRUCTION_OP_BRANCH: u16 = 249;
pub const SPV_INSTRUCTION_OP_BRANCH_CONDITIONAL: u16 = 250;
pub const SPV_INSTRUCTION_OP_SWITCH: u16 = 251;

pub const SPV_SELECTION_CONTROL_NONE: u32 = 0;

pub const SPV_STORAGE_CLASS_UNIFORM_CONSTANT: u32 = 0;
pub const SPV_STORAGE_CLASS_UNIFORM: u32 = 2;
pub const SPV_STORAGE_CLASS_FUNCTION: u32 = 7;
pub const SPV_STORAGE_CLASS_PUSH_CONSTANT: u32 = 9;
pub const SPV_DECORATION_ARRAY_STRIDE: u32 = 6;
pub const SPV_DECORATION_MATRIX_STRIDE: u32 = 7;
pub const SPV_DECORATION_BINDING: u32 = 33;
pub const SPV_DECORATION_DESCRIPTOR_SET: u32 = 34;
pub const SPV_DECORATION_OFFSET: u32 = 35;
pub const SPV_FUNCTION_CONTROL_INLINE: u32 = 1;
pub const SPV_SIGNEDNESS_UNSIGNED: u32 = 0;
pub const SPV_SIGNEDNESS_SIGNED: u32 = 1;
pub const SPV_DIMENSION_2D: u32 = 1;
pub const SPV_DIMENSION_CUBE: u32 = 3;

pub const SPV_GLSL_STD_INSTRUCTION_SABS: u32 = 5;