mirror of https://github.com/alibaba/MNN.git
28 lines
701 B
Plaintext
28 lines
701 B
Plaintext
#version 440 core
|
|
layout(std430) buffer;
|
|
layout(set=0, rgba16f, binding=0) writeonly uniform image3D uOutput;
|
|
layout(binding=1) readonly buffer kernelBuffer{
|
|
vec4 data[];
|
|
} uKernel;
|
|
layout(set=0, binding=2) uniform constBuffer {
|
|
int w;
|
|
int h;
|
|
int c;
|
|
} uConst;
|
|
|
|
layout (local_size_x = 16, local_size_y = 16, local_size_z = 1) in;
|
|
|
|
void main()
|
|
{
|
|
ivec3 pos = ivec3(gl_GlobalInvocationID);
|
|
if (pos.x < uConst.w && pos.y < uConst.h)
|
|
{
|
|
vec4 res = uKernel.data[0
|
|
+pos.x
|
|
+pos.y*uConst.w
|
|
+pos.z*uConst.w*uConst.h
|
|
];
|
|
|
|
imageStore(uOutput, ivec3(pos.x, pos.y, pos.z), res);
|
|
}
|
|
} |