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

#pragma once
constexpr uint8_t kImageClear_frag_0000001A[] = {
    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x35,0x8f,0x3b,0x0b,0xc2,0x50,
    0x0c,0x85,0xd3,0x7b,0xb5,0xaf,0x6b,0x5f,0x8a,0xba,0x95,0x4a,0x47,0xa1,0x38,0xa8,
    0x08,0xa2,0xe0,0xa4,0x43,0x37,0x7f,0x81,0xe0,0xe2,0xa0,0x8b,0xfe,0x78,0x17,0xc1,
    0x93,0x7a,0x2c,0x24,0x69,0xbe,0xe4,0xdc,0x24,0xd6,0xd4,0x81,0x88,0x27,0xb1,0x84,
    0x32,0x94,0xdf,0x57,0x88,0x01,0x11,0x71,0xe2,0x77,0xf1,0xd8,0x9e,0xdb,0xe6,0xf9,
    0xba,0x36,0xcb,0xd5,0x42,0xeb,0xa9,0xd8,0xae,0x4f,0x6b,0x19,0x7a,0x7a,0x88,0x6a,
    0xf7,0xcb,0xed,0xa1,0x3c,0x82,0xe5,0xe8,0x51,0x16,0xa8,0x1e,0x7f,0xca,0x4a,0x58,
    0x1f,0x76,0x82,0x77,0x9c,0x55,0x33,0xfe,0x99,0x47,0x96,0x77,0x3a,0xdb,0x31,0x03,
    0x1b,0xc1,0x6b,0x9c,0x81,0x59,0xb2,0x31,0xde,0xf5,0x11,0x2b,0xea,0xa6,0xc8,0x75,
    0x9e,0xcf,0x7d,0x2a,0xf8,0x10,0xd1,0x72,0x8f,0x2d,0xf3,0x88,0x6c,0x02,0x1f,0x53,
    0x5f,0xa2,0xe6,0xd8,0x17,0x53,0x3b,0x60,0xaf,0xa3,0x56,0xf3,0x84,0x6c,0xce,0xd9,
    0x29,0xf7,0xd7,0xfe,0x8c,0x35,0x7d,0x63,0x8d,0x7b,0x0c,0xf7,0x10,0xce,0x7b,0x83,
    0xe8,0xfd,0x07,0xf8,0x8c,0x37,0x26,0x7c,0x63,0xc7,0xdd,0x0b,0xf2,0x3d,0x14,0x11,
    0xf3,0x0f,0xae,0xdb,0xc0,0xbe,0x2d,0x37,0xe4,0xb1,0xac,0x01,0x00,0x00
};

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