chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc

// GENERATED FILE - DO NOT EDIT.
// Generated by gen_vk_internal_shaders.py.
//
// Copyright 2018 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc:
//   Pre-generated shader for the ANGLE Vulkan back-end.

#pragma once
constexpr uint8_t kConvertIndirectLineLoop_comp_00000000[] =;

// Generated from:
//
// #version 450 core
//
// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
//
// layout(set = 0, binding = 0)readonly buffer srcIndirectBuf
// {
//
//     uint indirectBuf[];
// };
//
// layout(set = 0, binding = 1)buffer dstIndirectBuf
// {
//
//     uint indexIndirectBuf[];
// };
//
// layout(set = 0, binding = 2)buffer dstIndexBuf
// {
//
//     uint dstData[];
// };
//
// layout(push_constant)uniform PushConstants
// {
//
//     uint indirectBufferOffsetDiv4;
//
//     uint indexIndirectBufOffsetDiv4;
//
//     uint dstDataOffsetDiv4;
// };
//
// void main()
// {
//
//     uint vertexCount = indirectBuf[indirectBufferOffsetDiv4];
//     uint firstVertex = indirectBuf[indirectBufferOffsetDiv4 + 2];
//
//     if(gl_GlobalInvocationID . x >= 1)
//         return;
//
//     for(uint i = 0;i < vertexCount;i ++)
//     {
//         dstData[dstDataOffsetDiv4 + i]= firstVertex + i;
//     }
//     if(vertexCount > 1)
//     {
//         dstData[dstDataOffsetDiv4 + vertexCount]= firstVertex;
//         vertexCount ++;
//     }
//
//     indexIndirectBuf[indexIndirectBufOffsetDiv4]= vertexCount;
//     indexIndirectBuf[indexIndirectBufOffsetDiv4 + 1]= indirectBuf[indirectBufferOffsetDiv4 + 1];
//     indexIndirectBuf[indexIndirectBufOffsetDiv4 + 2]= 0;
//     indexIndirectBuf[indexIndirectBufOffsetDiv4 + 3]= 0;
//     indexIndirectBuf[indexIndirectBufOffsetDiv4 + 4]= indirectBuf[indirectBufferOffsetDiv4 + 3];
// }