// GENERATED FILE - DO NOT EDIT.
// Generated by gen_vk_internal_shaders.py.
//
// Copyright 2020 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.00000012.inc:
//   Pre-generated shader for the ANGLE Vulkan back-end.

#pragma once
constexpr uint8_t kImageClear_frag_00000012[] = {
    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x35,0x4f,0xbb,0x0a,0xc2,0x40,
    0x10,0xdc,0xe4,0xcc,0xdb,0xbc,0x14,0xb5,0x0b,0x91,0x94,0x42,0xb0,0x50,0x11,0x44,
    0xc1,0x4a,0x8b,0x74,0x7e,0x81,0x60,0x63,0xa1,0x8d,0x7e,0xbc,0x8d,0xe0,0xec,0x65,
    0x3c,0xd8,0x9d,0xdb,0xd9,0x9d,0x7d,0x18,0xb7,0x09,0x44,0x1c,0x89,0x25,0x94,0x91,
    0xf4,0xaf,0x14,0x17,0x8c,0x48,0x22,0xbe,0xc5,0x53,0x77,0xe9,0xda,0xd7,0xfb,0xd6,
    0xae,0xd6,0x4b,0xcd,0x67,0x62,0x6c,0x9d,0xe6,0x72,0xd4,0x0c,0x80,0x6a,0x8f,0xeb,
    0xfd,0xa9,0x7c,0x04,0x2b,0x50,0xa3,0x5c,0xa0,0x7a,0xfc,0x94,0xab,0xa8,0x39,0x8b,
    0x87,0xde,0xfd,0x6b,0x88,0x7f,0xce,0x21,0x57,0x58,0x9d,0xb1,0x9c,0x0b,0x1b,0xc3,
    0x2b,0xce,0xc1,0x19,0x72,0x13,0xf4,0xf5,0x81,0x35,0x75,0x33,0xc4,0x3a,0xcf,0xe7,
    0x3e,0x35,0x7c,0x08,0x34,0xdc,0x63,0xc7,0x38,0x22,0x37,0x85,0x8f,0xa9,0xaf,0x90,
    0x4b,0x58,0x17,0x53,0x3b,0x64,0x6d,0x42,0xad,0xc6,0x29,0xb9,0x05,0x67,0x67,0xdc,
    0x5f,0xeb,0x73,0xe6,0xb4,0xc7,0x06,0xf7,0xb8,0xdc,0x43,0x38,0xef,0x03,0xc6,0x03,
    0x1e,0xe1,0x73,0xde,0x98,0xb2,0xc7,0x9e,0xbb,0x97,0xe4,0x0f,0x50,0x44,0x8c,0xbf,
    0xb8,0x6e,0x0b,0xfb,0x01,0xc7,0x8b,0x4e,0xe4,0xac,0x01,0x00,0x00
};

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