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

#pragma once
constexpr uint8_t kImageClear_frag_00000021[] = {
    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x5d,0x51,0x4d,0x4f,0xc2,0x40,
    0x14,0x1c,0xba,0xd0,0xd2,0x16,0xa1,0xda,0x0f,0xf1,0x42,0x30,0x1c,0x4d,0x88,0x07,
    0x21,0x26,0x46,0x13,0x4f,0x7a,0xe0,0xe6,0x2f,0x20,0xe1,0xc2,0x41,0x2f,0xf2,0xe3,
    0xbd,0x98,0x38,0xb3,0x9d,0x03,0x71,0x93,0xb7,0x6f,0xdf,0xec,0xcc,0x7b,0xd3,0x6d,
    0x48,0x56,0x19,0x30,0x40,0x81,0x31,0x6e,0xd0,0xaf,0x4b,0x24,0x44,0x80,0x12,0x69,
    0xcc,0x6f,0xbb,0x8f,0xdd,0xfa,0xfb,0x74,0x58,0x3f,0x6c,0xee,0x75,0x3f,0x45,0x88,
    0x3c,0xdd,0xcd,0x90,0x61,0xc8,0xac,0xf8,0xdc,0x1f,0xbf,0x84,0xe7,0x8c,0x86,0x51,
    0x91,0x27,0x3c,0x3b,0x3b,0x4f,0xd4,0x8f,0x27,0x71,0x16,0x9e,0xf7,0x8e,0x11,0x67,
    0xf5,0x6b,0xf5,0x0f,0x1b,0x18,0xab,0xa2,0x2e,0x44,0x2c,0x71,0x8f,0x26,0x7a,0x04,
    0x3a,0x46,0x4d,0x54,0xf8,0x2d,0x39,0xc1,0x9c,0x96,0x9c,0x94,0x79,0xe9,0x9e,0xd7,
    0xac,0xe5,0x25,0xb5,0xdf,0x25,0xf7,0x31,0x73,0xb0,0xc7,0x27,0xd7,0xb9,0xb1,0x8e,
    0x7b,0x61,0xfd,0x82,0x77,0xa5,0x79,0x85,0xb5,0x13,0x73,0x4b,0x6b,0x55,0x5f,0x18,
    0xd3,0xec,0xa9,0xb5,0xfa,0x86,0x3b,0xd7,0x33,0x7b,0x91,0xbe,0x32,0x37,0x73,0x5d,
    0x7b,0x6e,0xe1,0x7e,0xb5,0xdf,0x31,0x9c,0xe9,0x5b,0xf7,0x13,0xbf,0xb3,0x5e,0xfc,
    0x2d,0xdf,0x2b,0xf1,0x77,0xc1,0x9a,0x1f,0x22,0x23,0xe6,0x57,0xee,0x55,0xfc,0xaf,
    0xbd,0x3f,0x79,0x78,0xf6,0x5b,0x5c,0x19,0x7f,0xa1,0x22,0x77,0x2d,0x7e,0x17,0xdf,
    0xab,0xe7,0xb7,0xe6,0x6b,0xce,0xdc,0xb8,0xf8,0x8d,0xeb,0x5f,0x3a,0x7a,0x64,0xfc,
    0x01,0x91,0xe1,0xcf,0x76,0x4c,0x02,0x00,0x00
};

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