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

#pragma once
constexpr uint8_t kImageClear_frag_00000028[] = {
    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x35,0x50,0xbb,0x0a,0xc2,0x40,
    0x10,0xdc,0xe4,0xcc,0x5b,0xcd,0x69,0x50,0xbb,0x10,0x49,0x29,0x04,0x0b,0x15,0x41,
    0x14,0xac,0xb4,0x48,0xe7,0x17,0x08,0x36,0x16,0xda,0xe8,0xc7,0xdb,0x08,0xce,0x5e,
    0xc6,0x83,0xdd,0xc9,0xce,0xcd,0xec,0xee,0xc5,0xf8,0x75,0x24,0xe2,0x49,0x2a,0xb1,
    0x14,0xd2,0x9d,0x91,0xf8,0x60,0x44,0x32,0x09,0x1d,0x9e,0xda,0x4b,0xdb,0xbc,0xde,
    0xb7,0x66,0xb5,0x5e,0xea,0xfd,0x50,0x8c,0xd3,0xe9,0x5d,0x0e,0x4d,0x0f,0xa8,0xf1,
    0xb8,0xde,0x9f,0xca,0x27,0x08,0x0b,0x8d,0x72,0x91,0xfa,0xf1,0xa5,0x5c,0x49,0xdd,
    0x59,0x02,0xf4,0xee,0x4e,0x4d,0xfc,0x73,0x1e,0x39,0xeb,0x7c,0xc6,0x71,0x3e,0xa2,
    0x40,0x56,0x9c,0x83,0x33,0xe4,0x26,0xe8,0x16,0x02,0x2b,0xf6,0x98,0xa1,0xd6,0x79,
    0x21,0xe7,0x54,0xc8,0x31,0xd0,0x70,0x8f,0x1d,0xeb,0x84,0xdc,0x14,0x39,0xa5,0xbf,
    0xc4,0x5d,0x46,0x5d,0x4a,0x6f,0x9f,0xda,0x8c,0x5e,0xad,0x07,0xe4,0x74,0xf6,0x90,
    0x5e,0xdd,0x79,0xc1,0x3a,0xe7,0x2e,0xea,0xb7,0xd4,0x6a,0xcf,0x0d,0xde,0xe7,0x73,
    0x2f,0xe1,0xfc,0x0f,0x98,0x00,0x78,0x44,0xb6,0xee,0xbf,0x77,0xfd,0xb5,0xc7,0x9e,
    0x6f,0x19,0x93,0x3f,0xc0,0x91,0xb0,0xfe,0x62,0xe2,0x16,0xf1,0x03,0x8c,0x34,0x2a,
    0xf0,0xbc,0x01,0x00,0x00
};

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