| /* |
| * Copyright 2021 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| */ |
| |
| // glslc TestGpuNnapi.comp -O --target-env=vulkan1.1 -mfmt=c -o TestGpuNnapi.comp.spv.inl |
| |
| #version 450 |
| #pragma shader_stage(compute) |
| |
| layout (local_size_x_id = 0, local_size_y_id = 1) in; |
| |
| // The 4-byte chunk to set for each output buffer entry. |
| layout (constant_id = 2) const uint CLEAR_DATA = 0; |
| |
| layout (binding = 0, std430) buffer Output { |
| uint data[]; |
| } outputBuffer; |
| |
| void main() { |
| uint size_x = gl_WorkGroupSize.x * gl_NumWorkGroups.x; |
| uint index = gl_GlobalInvocationID.x + gl_GlobalInvocationID.y * size_x; |
| outputBuffer.data[index] = CLEAR_DATA; |
| } |