// 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/ImageClear.frag.00000015.inc:
//   Pre-generated shader for the ANGLE Vulkan back-end.

#pragma once
constexpr uint8_t kImageClear_frag_00000015[] = {
    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x4d,0x90,0x31,0x4f,0xc3,0x40,
    0x0c,0x85,0xdd,0x3b,0x9a,0x34,0x97,0xa6,0x69,0x1b,0x52,0x98,0xaa,0xa2,0x8e,0x48,
    0x55,0x07,0x40,0x48,0x08,0x24,0x26,0x18,0xba,0xf1,0x0b,0x90,0x58,0x18,0x60,0x81,
    0x1f,0xcf,0x82,0xc4,0xf3,0xe5,0x43,0xea,0x49,0x3e,0x9f,0x9f,0xdf,0xb3,0x7d,0x8e,
    0x61,0x5b,0x9a,0x8d,0x2c,0xd9,0xc4,0xce,0x6d,0x38,0x0b,0x0b,0x42,0xcc,0x6a,0x2b,
    0xb2,0x7f,0x3a,0xbc,0x1c,0x76,0x5f,0xdf,0x6f,0xbb,0xab,0xeb,0xbd,0xe7,0x67,0x16,
    0x33,0xcf,0x73,0xad,0x95,0x76,0x22,0xef,0xf6,0xf1,0xfa,0xfe,0xe9,0x78,0x25,0xeb,
    0x64,0x73,0xf1,0x1c,0x2f,0x8f,0xde,0x53,0xaf,0xa7,0x97,0x73,0xd6,0xb2,0x20,0x7b,
    0xb6,0xb1,0x7a,0x0d,0x67,0x8b,0xff,0xc7,0x46,0x60,0xf3,0xac,0x8b,0x19,0x0b,0xd4,
    0xe8,0xf2,0x8c,0x66,0xab,0xdc,0x2f,0x64,0xfc,0x42,0x9c,0x08,0xa7,0x17,0xa7,0x90,
    0xdf,0x50,0xe7,0x4c,0xb1,0xcf,0x52,0x30,0xef,0x46,0xf7,0x44,0x3e,0x32,0xe3,0x1d,
    0x71,0x05,0xb6,0xd2,0x9d,0xd0,0xaf,0x95,0xab,0xe1,0x25,0xb4,0x53,0xb8,0x35,0x5a,
    0x8f,0x1b,0xb0,0x4b,0x7a,0xcf,0xf8,0x8f,0xf3,0x5b,0x72,0x25,0xf1,0x92,0x3e,0x09,
    0xfd,0x92,0xbd,0xc5,0x23,0xfd,0x29,0xb3,0x3b,0xbf,0x47,0xef,0xfc,0x1b,0xed,0x27,
    0xf0,0x0f,0x43,0xf3,0x23,0x64,0x2c,0xff,0xa8,0xbb,0x65,0x67,0x0d,0x33,0xdc,0xf3,
    0xf7,0x05,0xf8,0x83,0x14,0x15,0xb1,0xf3,0x7b,0xf6,0xd8,0xd0,0xd3,0xf9,0x29,0xef,
    0x6c,0xc0,0x9d,0xdf,0x11,0xff,0x6a,0xa2,0x5b,0xd9,0x1f,0x07,0xcd,0x0e,0xf4,0x3c,
    0x02,0x00,0x00
};

// Generated from:
//
// #version 450 core
//
// layout(push_constant)uniform PushConstants {
//        ivec4 clearColor;
//     float clearDepth;
// } params;
//
// layout(location = 2)out ivec4 colorOut;
//
// void main()
// {
//     colorOut = params . clearColor;
//
//     gl_FragDepth = params . clearDepth;
//
// }
