blob: 6589b897acca2de547b9c15cf49d5da3c0d09ca2 [file] [edit]
#version 450 core
#extension GL_EXT_float_e3m2 : require
#extension GL_KHR_memory_scope_semantics : enable
#extension GL_EXT_shader_explicit_arithmetic_types : enable
#extension GL_EXT_scalar_block_layout : enable
#extension GL_EXT_long_vector : enable
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
const floate3m2_t bc10 = floate3m2_t(10);
const fe3m2vec2 b2c20 = fe3m2vec2(20);
layout(constant_id = 1) const floate3m2_t bsc10 = floate3m2_t(10);
struct S { floate3m2_t b; };
const S sc = S(bc10);
const floate3m2_t bca[2] = {bc10, bc10};
floate3m2_t funcfe3m2(floate3m2_t x)
{
return x;
}
void main()
{
float f = 2.0;
floate3m2_t b = floate3m2_t(1.0fe3m2);
float16_t f16 = float16_t(7);
float32_t f32 = 7;
float64_t f64 = 7;
f16 = float16_t(b);
f32 = float32_t(b);
f64 = float64_t(b);
f16 = b;
f32 = b;
f64 = b;
b = funcfe3m2(b);
fe3m2vec4 v4;
vector<floate3m2_t, 8> v8;
vector<floate3m2_t, 16> v16;
u8vec3 u8 = packFloat4xfe3m2EXT(v4);
u16vec3 u16 = packFloat8xfe3m2EXT(v8);
u32vec3 u32 = packFloat16xfe3m2EXT(v16);
v4 = unpackFloat4xfe3m2EXT(u8);
v8 = unpackFloat8xfe3m2EXT(u16);
v16 = unpackFloat16xfe3m2EXT(u32);
b = bitcastExtractfe3m2EXT(uint8_t(1), 2);
fe3m2vec4 v4_2 = bitcastExtractfe3m2EXT(u8vec4(1), 2);
vector<floate3m2_t, 7> v7 = bitcastExtractfe3m2EXT(vector<uint8_t, 7>(1), 3);
}