@@ -243,6 +243,43 @@ template<typename T NBL_FUNC_REQUIRES(concepts::FloatingPointVectorOrScalar<T>)
243243[[vk::ext_instruction (GLSLstd450FrexpStruct, "GLSL.std.450" )]]
244244FrexpOutput<T> frexpStruct (T val);
245245
246+ [[vk::ext_instruction (GLSLstd450PackSnorm4x8, "GLSL.std.450" )]]
247+ int32_t packSnorm4x8 (float32_t4 vec);
248+
249+ [[vk::ext_instruction (GLSLstd450PackUnorm4x8, "GLSL.std.450" )]]
250+ int32_t packUnorm4x8 (float32_t4 vec);
251+
252+ [[vk::ext_instruction (GLSLstd450PackSnorm2x16, "GLSL.std.450" )]]
253+ int32_t packSnorm2x16 (float32_t2 vec);
254+
255+ [[vk::ext_instruction (GLSLstd450PackUnorm2x16, "GLSL.std.450" )]]
256+ int32_t packUnorm2x16 (float32_t2 vec);
257+
258+ [[vk::ext_instruction (GLSLstd450PackHalf2x16, "GLSL.std.450" )]]
259+ int32_t packHalf2x16 (float32_t2 vec);
260+
261+ [[vk::ext_instruction (GLSLstd450PackDouble2x32, "GLSL.std.450" )]]
262+ float64_t packDouble2x32 (int32_t2 vec);
263+
264+ [[vk::ext_instruction (GLSLstd450UnpackSnorm2x16, "GLSL.std.450" )]]
265+ float32_t2 unpackSnorm2x16 (int32_t vec);
266+
267+ [[vk::ext_instruction (GLSLstd450UnpackUnorm2x16, "GLSL.std.450" )]]
268+ float32_t2 unpackUnorm2x16 (int32_t vec);
269+
270+ [[vk::ext_instruction (GLSLstd450UnpackHalf2x16, "GLSL.std.450" )]]
271+ float32_t2 unpackHalf2x16 (int32_t vec);
272+
273+ [[vk::ext_instruction (GLSLstd450UnpackSnorm4x8, "GLSL.std.450" )]]
274+ float32_t4 unpackSnorm4x8 (int32_t vec);
275+
276+ [[vk::ext_instruction (GLSLstd450UnpackUnorm4x8, "GLSL.std.450" )]]
277+ float32_t4 unpackUnorm4x8 (int32_t vec);
278+
279+ [[vk::ext_instruction (GLSLstd450UnpackDouble2x32, "GLSL.std.450" )]]
280+ int32_t2 unpackDouble2x32 (float64_t vec);
281+
282+
246283}
247284}
248285}
0 commit comments