1deee662创建于 2025年8月1日历史提交
#version 450 core
#extension GL_KHR_memory_scope_semantics : enable
#extension GL_KHR_cooperative_matrix : enable
#extension GL_EXT_shader_explicit_arithmetic_types : enable

layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;


void main()
{
    coopmat<float, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> f;
    coopmat<float, gl_ScopeSubgroup, 8, 8, gl_MatrixUseB> f2;
    coopmat<float, gl_ScopeSubgroup, 16, 8, gl_MatrixUseA> f3;

    coopmat<float16_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> f16;

    coopmat<uint8_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> u8;
    coopmat<int8_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> i8;
    coopmat<uint32_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> u32;

    f+f;
    f-f;
    f*f;
    f/f;
    f+=f;
    f-=f;
    f*=f;
    f/=f;
    f*2.0;
    2.0*f;
    f*=2.0;

    f16+f16;
    f16-f16;
    f16*f16;
    f16/f16;
    f16+=f16;
    f16-=f16;
    f16*=f16;
    f16/=f16;
    f16*float16_t(2.0);
    float16_t(2.0)*f16;
    f16*=float16_t(2.0);

    u32+u32;
    u32-u32;
    u32*u32;
    u32/u32;
    u32+=u32;
    u32-=u32;
    u32*=u32;
    u32/=u32;
    u32*uint32_t(2);
    uint32_t(2)*u32;
    u32*=uint32_t(2);

    u8+u8;
    u8-u8;
    u8*u8;
    u8/u8;
    u8+=u8;
    u8-=u8;
    u8*=u8;
    u8/=u8;
    u8*uint8_t(2);
    uint8_t(2)*u8;
    u8*=uint8_t(2);

    i8+i8;
    i8-i8;
    i8*i8;
    i8/i8;
    i8+=i8;
    i8-=i8;
    i8*=i8;
    i8/=i8;
    i8*int8_t(2);
    int8_t(2)*i8;
    i8*=int8_t(2);

    -f;
    -f16;
    -i8;
    -u8;
}