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

#pragma once
constexpr uint8_t kImageClear_frag_00000010[] = {
    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x5d,0x8f,0x3d,0x0b,0xc2,0x40,
    0x0c,0x86,0xd3,0x9e,0xfd,0xb6,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,0x37,
    0xd7,0x77,0xf2,0x20,0xc9,0xe5,0x49,0xde,0x5c,0xce,0xb8,0x4d,0x20,0xe2,0x48,0x2c,
    0xa1,0x8c,0xa4,0x3f,0xa5,0xb8,0x20,0x22,0x89,0xf8,0x36,0x9e,0xba,0x4b,0xd7,0xbe,
    0xde,0xb7,0x76,0xb5,0x5e,0x6a,0x3d,0x13,0x63,0xfb,0xb4,0x96,0xa3,0x67,0x80,0xa8,
    0xf6,0xb8,0xde,0x9f,0xca,0x23,0x58,0x81,0x1e,0x65,0x81,0xea,0x71,0x53,0x56,0x71,
    0xfe,0x59,0x3c,0xcc,0xee,0x4f,0xf3,0xc7,0x1c,0xb2,0xc2,0xea,0x8c,0x65,0x2e,0x6c,
    0x0c,0xaf,0x71,0x0e,0x66,0xc8,0x26,0x98,0xeb,0x23,0xd6,0xd4,0xcd,0x90,0xeb,0x7b,
    0x3e,0xf7,0xa9,0xe1,0x43,0x44,0xc3,0x3d,0x76,0xcc,0x23,0xb2,0x29,0x7c,0x4c,0x7d,
    0x85,0x5a,0xc2,0xbe,0x98,0xda,0x21,0x7b,0x13,0x6a,0x35,0x4f,0xc9,0x16,0x7c,0x3b,
    0xe3,0xfe,0xda,0x9f,0xb3,0xa6,0x33,0x36,0xf8,0x8f,0xcb,0x3d,0x84,0xef,0x7d,0x40,
    0x3c,0xc4,0x23,0x7c,0xce,0x3f,0xa6,0x9c,0xb1,0xe7,0xee,0x25,0xf9,0x01,0x8a,0x88,
    0xf9,0x17,0xbf,0xdb,0xc2,0x7e,0xdd,0xa7,0x9c,0x1c,0xac,0x01,0x00,0x00
};

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