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

#pragma once
constexpr uint8_t kImageClear_frag_00000009[] = {
    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x4d,0x90,0x3d,0x4b,0x03,0x41,
    0x10,0x86,0x27,0xbb,0x66,0x2f,0xf7,0x61,0x2e,0xc9,0x79,0xd1,0x2a,0x44,0x52,0x0a,
    0xc1,0x42,0x25,0x10,0x14,0xac,0xb4,0x48,0xe7,0x2f,0x10,0x6c,0x2c,0xb4,0xd1,0x1f,
    0x6f,0x23,0xf8,0xce,0xde,0x23,0x64,0x61,0x76,0x66,0xde,0x79,0xe7,0x33,0x86,0x4d,
    0x61,0x36,0xb2,0xca,0x26,0x76,0x61,0xc3,0x9b,0x5b,0x10,0x62,0x56,0x5b,0xca,0xfa,
    0xe9,0xf0,0x72,0xd8,0x7e,0x7d,0xbf,0x6d,0x6f,0x6e,0xaf,0x3d,0x3e,0xb5,0x98,0x79,
    0x1e,0x6b,0xad,0xb0,0x13,0x69,0x97,0x8f,0xd7,0xf7,0x4f,0xc7,0x4b,0x49,0x27,0x99,
    0x89,0xe7,0x78,0x71,0x64,0x37,0x5e,0x4f,0x96,0x73,0x56,0xe4,0x3d,0xdb,0x58,0xfd,
    0x87,0xb7,0x41,0xff,0x63,0x23,0xb0,0x59,0xce,0x8b,0x19,0x0b,0xd4,0xe8,0xf2,0x8c,
    0x66,0xcb,0xdc,0x2f,0x64,0xfc,0x52,0x9c,0x08,0x67,0x29,0x2b,0x49,0xaf,0x25,0xe7,
    0xe2,0xfb,0x1c,0x89,0x9e,0x6b,0xfd,0x13,0xe9,0xc8,0x7c,0x7b,0xfc,0x12,0x6c,0x25,
    0xbf,0x22,0x96,0xe0,0xd7,0xc4,0x2b,0xf8,0x35,0xfb,0x38,0xd6,0xcb,0x3f,0xa5,0x97,
    0xcf,0x7c,0x85,0x3f,0x65,0x1f,0xcf,0x6f,0xe1,0x16,0xf8,0x0b,0x7a,0x25,0xea,0x2d,
    0xb8,0x5b,0x3c,0xca,0x3f,0xa3,0x9e,0xf3,0x7b,0xf2,0x9d,0x7f,0xa7,0xfb,0x04,0x76,
    0x31,0x72,0x7e,0x84,0x8c,0xa5,0x1f,0xf5,0xb7,0xdc,0xac,0x61,0x86,0x7b,0xf6,0x9f,
    0x83,0x3f,0x28,0xa3,0xc4,0x77,0x7e,0xcf,0x1d,0x1b,0x7a,0x3a,0x3f,0xe5,0xbb,0x0d,
    0xb8,0xf3,0x3b,0xfc,0x5f,0x4d,0xb4,0x93,0xfc,0x01,0x34,0xb6,0x7f,0xda,0x3c,0x02,
    0x00,0x00
};

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