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

#pragma once
constexpr uint8_t kImageCopy_frag_00000028[] = {
    0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x85,0x98,0xf9,0x73,0x54,0x45,
    0x10,0xc7,0x5f,0x76,0x37,0xbb,0x24,0x5c,0x41,0x62,0x38,0x04,0x2b,0xe1,0x12,0x0d,
    0x86,0xa8,0xe1,0x66,0x81,0x80,0x72,0x28,0x67,0x02,0x0a,0x22,0x72,0x88,0x0a,0x08,
    0x11,0x49,0x3c,0x10,0x84,0x70,0x23,0x28,0x82,0x88,0xca,0xa1,0x02,0x2a,0xa8,0x04,
    0x14,0x54,0x0e,0x05,0x15,0x14,0x82,0x17,0x88,0x0a,0xa8,0x20,0xa0,0x3f,0xf8,0x1f,
    0x58,0x1e,0x55,0x1e,0xd3,0x93,0x4f,0x6f,0xb5,0xaf,0x50,0x53,0x35,0xf5,0xb6,0xbf,
    0xdd,0xf3,0x9d,0x6f,0x77,0xcf,0x9b,0xd9,0x4d,0x34,0xd2,0x32,0x11,0x04,0x69,0x41,
    0x66,0x50,0x2b,0xf8,0x31,0xa8,0xf9,0x6b,0x10,0x44,0x1c,0x12,0x04,0xb5,0x83,0xb8,
    0x7f,0xf6,0x1b,0x58,0x3a,0xb0,0xa0,0xbc,0x62,0x62,0x41,0x51,0x87,0x42,0xf1,0xd7,
    0x0b,0xa2,0x3e,0x4e,0x7c,0xf5,0x83,0x44,0x10,0x73,0x4f,0x19,0xd3,0xc6,0x4f,0x2e,
    0x13,0xbc,0x8d,0x1b,0x17,0xdc,0xc8,0x72,0x71,0x82,0x27,0x84,0xc3,0x7d,0x6a,0xe3,
    0x39,0x65,0x4e,0x10,0xf4,0x0f,0xd2,0x83,0x76,0xac,0xd7,0x92,0xa7,0x62,0x69,0x60,
    0xb5,0x0c,0x16,0x01,0xcb,0x32,0x58,0x14,0x2c,0xdb,0x60,0x31,0xb0,0xc6,0x06,0x4b,
    0x07,0x6b,0x66,0xb0,0x38,0x58,0xae,0xc1,0x12,0x60,0xad,0x0c,0x56,0x0b,0xac,0xad,
    0xc1,0x32,0xc0,0xda,0x19,0x2c,0x13,0xac,0xd0,0x60,0xb5,0xc1,0x8a,0x0c,0x56,0x07,
    0xac,0xb3,0xc1,0xea,0x82,0x75,0xf7,0x75,0x8a,0xa6,0xf2,0x95,0x9a,0x8d,0x76,0xcf,
    0x16,0xd4,0x47,0xed,0x3c,0x63,0x4b,0x9d,0x2f,0xc7,0x6e,0xe8,0x66,0x45,0xbc,0x3f,
    0xea,0x6b,0x23,0x9f,0x73,0xdc,0xa7,0x38,0x79,0xe6,0xba,0xf8,0x04,0x79,0xc6,0x7d,
    0x5c,0xcc,0xe7,0x17,0x07,0xcb,0x77,0x76,0x1c,0x3d,0x3f,0xed,0x68,0x9d,0xcc,0x76,
    0x0c,0xf5,0x0c,0xde,0xd0,0x8d,0x92,0xbd,0x83,0x8b,0xd5,0x96,0x1a,0xef,0xe8,0x37,
    0x3e,0xa9,0x76,0x53,0x37,0x92,0x99,0x4b,0x7a,0xaa,0x2d,0xf5,0x5e,0xb7,0xb6,0x49,
    0xaf,0x4b,0x9d,0x9d,0x8b,0x06,0xe9,0x6d,0x23,0x67,0xe7,0x61,0x47,0xd0,0xd5,0x02,
    0x0d,0x79,0xf8,0x5b,0xa1,0x2b,0x86,0xbf,0x35,0x73,0x05,0xef,0x86,0xdd,0xc6,0xf0,
    0x5d,0x41,0xbc,0xf0,0xc9,0x7a,0xf9,0xf0,0x07,0xbe,0x3e,0x59,0xbe,0xa6,0x79,0x0c,
    0xd5,0x92,0xff,0x3f,0x23,0x37,0xf5,0x8c,0x05,0x57,0xd3,0xf7,0x76,0xac,0x2f,0x76,
    0x01,0x58,0x3e,0xf9,0xb5,0x47,0x8f,0xc4,0x17,0xe2,0xcb,0x33,0xfe,0x8e,0x26,0x9f,
    0x4e,0xa9,0xb9,0x35,0x7e,0x79,0x76,0x45,0xaf,0xf8,0x7b,0x50,0x8f,0x5c,0x33,0xbf,
    0x0f,0x7b,0x59,0xe3,0x07,0xb0,0x9e,0xfa,0x07,0xd3,0x3b,0xa9,0xc7,0xcd,0x70,0xeb,
    0x7a,0xb7,0xc0,0x27,0x78,0x13,0xb7,0xf2,0x28,0xfc,0x91,0xe0,0x9f,0x7f,0x69,0x46,
    0xc3,0xad,0x7c,0x1e,0x45,0xce,0x62,0x8f,0x06,0xd3,0x35,0xc7,0x84,0xec,0x09,0xbc,
    0x97,0x32,0xff,0x0e,0x72,0xcc,0x45,0xd3,0x5d,0x7c,0x8e,0x9a,0xf8,0x29,0x68,0x50,
    0xbb,0x8c,0x3e,0x6a,0x8e,0x15,0x86,0xef,0xfe,0xd4,0x3e,0xad,0xe1,0x7b,0x88,0xcf,
    0x96,0xaf,0x32,0x55,0xb7,0x58,0xf0,0x14,0x9f,0x5b,0x99,0x3d,0xfc,0xac,0x57,0x3b,
    0xb7,0x8f,0xc6,0x6f,0xe0,0x3d,0xd5,0xf5,0xb6,0x87,0xf4,0xec,0xe2,0x0c,0x50,0xfb,
    0x40,0xa8,0xe7,0x47,0x79,0xa7,0x95,0xff,0x0b,0x53,0x0f,0xb1,0xbf,0xf7,0x56,0x65,
    0x4f,0xd1,0x73,0x1e,0xad,0xba,0x87,0xcf,0x73,0x4e,0x46,0xfd,0xde,0x48,0xf7,0xeb,
    0xc6,0x98,0x2f,0xd8,0xaf,0x0e,0x49,0x27,0xb6,0x05,0x67,0x44,0xc2,0xd8,0x45,0xc6,
    0x96,0xfe,0x8e,0x34,0xb6,0xe4,0xbe,0xc6,0xd8,0xf2,0xdc,0x1c,0xb2,0xb7,0x86,0xec,
    0x2a,0x63,0xcb,0xfe,0xab,0xc6,0x4e,0xf2,0x3e,0xb6,0xe5,0x9d,0x1b,0xe2,0x50,0x79,
    0xdf,0xae,0x04,0x6b,0x6b,0xf6,0x4e,0x19,0xef,0xf6,0x55,0xf8,0x8b,0x5d,0x06,0xf2,
    0x2e,0x5c,0xc3,0xfb,0xd2,0x1e,0x3e,0x89,0xb9,0x16,0x7c,0xbe,0x8b,0x11,0xfb,0x3a,
    0xe6,0x09,0xde,0xc3,0x55,0xa0,0x25,0x98,0xc6,0x77,0xa0,0x06,0xe2,0x2b,0xc2,0x16,
    0xfe,0x4e,0x9c,0xa7,0x05,0xbc,0x63,0x49,0x7a,0xd9,0x05,0x7c,0x9b,0x8b,0xa9,0xe7,
    0xf3,0xaa,0xc1,0xe4,0x3d,0xfb,0xc5,0x71,0x24,0xd1,0xfd,0xbb,0x8b,0xef,0xc6,0xf9,
    0x9b,0xa4,0xee,0xdd,0xe1,0x96,0x3a,0xf4,0xa4,0xd6,0x5d,0xe1,0x96,0xbe,0xf7,0x02,
    0x9f,0x83,0x5d,0x0c,0xa6,0x73,0x7a,0x9b,0x39,0xa2,0xb7,0x37,0x31,0xbf,0x39,0x6e,
    0x5d,0x23,0x69,0xf4,0x5f,0x8f,0xfe,0x3e,0x46,0xff,0x0d,0xe0,0xaa,0xbf,0x2f,0x98,
    0xea,0xef,0x6f,0xf4,0xf7,0xf5,0xf7,0x41,0xe0,0x31,0xe1,0xee,0x67,0xb4,0xdc,0x88,
    0x96,0x01,0x46,0xff,0x4d,0xe0,0xaa,0x7f,0x20,0x98,0xce,0x19,0x64,0xe6,0x88,0xfe,
    0x41,0xc4,0x88,0x7e,0x5d,0xa3,0xbf,0xd1,0x3f,0x04,0xfd,0x83,0x8d,0xfe,0xa1,0xe0,
    0xaa,0x7f,0x18,0x98,0xea,0x2f,0x35,0xfa,0xc5,0x57,0xe2,0x46,0x29,0xdc,0x25,0xa6,
    0xef,0xc3,0xd1,0x22,0xfb,0x4e,0xec,0x11,0x60,0xc3,0xcd,0x79,0xa5,0x7b,0x62,0x04,
    0x1a,0x95,0xa7,0x14,0x1e,0x39,0xc3,0x6e,0xe3,0xfc,0xd2,0x3d,0x79,0x3b,0x9a,0xc7,
    0x98,0xb5,0xc6,0x82,0xab,0x3d,0x8e,0xb5,0x2b,0xd9,0xa3,0xe3,0x89,0x19,0x07,0x8f,
    0x9c,0x71,0x13,0xe1,0x99,0x60,0xea,0x7b,0x27,0xf8,0x30,0x17,0x23,0xf6,0xdd,0xcc,
    0x0d,0x0c,0x36,0x09,0x2c,0xcd,0xd7,0x25,0xee,0xcf,0xc7,0xc9,0xc4,0x4e,0x82,0x43,
    0xd7,0xb8,0x87,0x35,0xa6,0x98,0x35,0xa6,0x82,0x8f,0x75,0x75,0x91,0x73,0x7d,0x1a,
    0x39,0x4e,0xe6,0x0c,0x9b,0x4a,0x5d,0x46,0xe2,0xd3,0x5e,0xdd,0x0b,0x57,0x99,0xe9,
    0xd5,0x74,0x70,0xed,0xd5,0x7d,0x60,0xda,0xab,0x72,0xd3,0x2b,0xf1,0xcd,0x90,0x53,
    0x94,0x1a,0xcf,0x80,0x5b,0xce,0xe7,0x07,0x38,0x87,0x2a,0x0c,0xf7,0x83,0xe0,0x49,
    0xee,0xa5,0x99,0xc4,0x0c,0x71,0x27,0xab,0x9c,0xe1,0x0f,0x83,0xcd,0x34,0xe7,0x48,
    0x84,0x9a,0x88,0x7f,0x16,0x1c,0x3a,0x16,0xba,0xb5,0x04,0x9f,0xcd,0xdc,0x59,0x86,
    0xfb,0x91,0x14,0x77,0x86,0xb7,0xe7,0x80,0xcd,0xe6,0x6c,0x4d,0xe7,0x7e,0x89,0x9a,
    0xda,0xcc,0x61,0xcf,0x94,0x93,0xcf,0x5c,0x53,0xab,0x79,0xd4,0xaa,0xd2,0xe4,0x33,
    0x1f,0x5c,0x6b,0xb5,0x00,0x4c,0x6b,0xb5,0xc8,0xd4,0x6a,0x81,0xd7,0x1b,0x78,0x4c,
    0xb8,0x17,0x9a,0x5a,0x2d,0xbe,0x48,0xad,0x96,0x80,0x57,0xc1,0xbd,0x14,0xac,0x2b,
    0x1a,0x95,0x47,0x9e,0x3f,0xbb,0xbe,0x4b,0xcc,0xa3,0x68,0x98,0x4b,0xfc,0x42,0x74,
    0x2c,0x37,0x3a,0x24,0x66,0x99,0x1b,0xcb,0x99,0xbf,0xcc,0xe8,0x78,0xec,0x22,0x3a,
    0x1e,0x07,0xd7,0xba,0xae,0x08,0xf5,0xec,0x09,0xb0,0x15,0xff,0xd2,0xb3,0x95,0x70,
    0xe8,0x58,0x4c,0xcf,0x56,0x31,0x77,0xa5,0xe1,0x7e,0x32,0xd4,0xb3,0xd5,0x60,0xab,
    0xfe,0xa3,0x67,0xab,0xa9,0x87,0xe6,0xb3,0x3c,0xd4,0xc3,0x72,0xc3,0xff,0x34,0xfc,
    0xd3,0xb9,0xc7,0x9e,0x01,0x13,0xae,0x35,0xd8,0x7a,0xc7,0xad,0xe5,0xde,0x1c,0xea,
    0x6a,0x2b,0xf6,0x3a,0xbe,0x33,0xd8,0xb1,0xd4,0x29,0x12,0xdf,0x7a,0xe2,0xd7,0x19,
    0xae,0xf5,0x66,0xef,0x3c,0xc7,0xde,0xd9,0x60,0xea,0xfa,0x3c,0xb8,0xee,0x9d,0x17,
    0xc0,0x74,0xef,0x6c,0x32,0x3d,0x13,0xdf,0x46,0x37,0x36,0x91,0xd3,0x46,0xb8,0xe5,
    0x4e,0x7e,0x11,0x9d,0x7a,0x27,0x49,0x7d,0x5e,0x02,0x17,0x2d,0x9b,0xb1,0xbb,0xb8,
    0x78,0xf1,0xbd,0xcc,0x6f,0x94,0xcd,0x86,0x63,0x8b,0xe1,0x90,0x39,0x5b,0x88,0x53,
    0xff,0x2b,0xf8,0x07,0x98,0x35,0x5e,0x05,0x97,0xf8,0xad,0xd8,0xba,0xc6,0x6b,0xac,
    0xb1,0xd5,0x70,0x6c,0x33,0x1c,0x32,0x67,0x1b,0x71,0xea,0xdf,0x81,0x7f,0xbb,0x59,
    0xe3,0x75,0x70,0x89,0xaf,0xc2,0xd6,0x35,0xde,0x60,0x8d,0x2a,0xc3,0xb1,0xd3,0x70,
    0xc8,0x9c,0x9d,0xc4,0xc9,0x7e,0xd0,0xda,0x6d,0x32,0x7d,0x79,0x93,0xbe,0xec,0x32,
    0x7d,0x79,0x0b,0x5c,0xfb,0xf2,0x36,0x98,0xf6,0x65,0x8f,0xe9,0x8b,0xf8,0x76,0xbb,
    0xb1,0x1f,0xee,0xdd,0x66,0xff,0xec,0x45,0x8b,0x7e,0x47,0xda,0x07,0xb6,0xd7,0x7c,
    0xaf,0xd3,0xd8,0x77,0x52,0xb1,0x19,0xde,0x7e,0x17,0x6c,0x9f,0xd9,0xf7,0x11,0xb3,
    0xef,0xd7,0x10,0x23,0x79,0xed,0x61,0xed,0xfd,0x26,0xaf,0xf7,0xc8,0xeb,0x80,0xc9,
    0xeb,0x7d,0x70,0xcd,0xeb,0x03,0x30,0xcd,0xeb,0x90,0xc9,0x4b,0x7c,0x07,0xdd,0x38,
    0x02,0xf7,0x41,0x53,0xe3,0x0f,0xd1,0x5a,0x61,0xfa,0xf4,0x11,0xb8,0xc6,0x1c,0x0e,
    0xed,0xa7,0xc3,0xc4,0x88,0xde,0x43,0x70,0x1e,0x31,0x77,0xda,0xc7,0xe8,0x3d,0x6a,
    0xee,0xb4,0x4f,0xc0,0x65,0x7e,0x35,0xb6,0xfa,0x3e,0xe5,0x3b,0x69,0x35,0xf7,0xe7,
    0x67,0x60,0x53,0x4c,0x7e,0x9f,0x83,0x8f,0x21,0xbf,0xe3,0x26,0x3f,0xf1,0x1d,0x73,
    0xe3,0x38,0x5a,0x8e,0x19,0xed,0x27,0x42,0xfb,0xf4,0x04,0xdf,0xe5,0x45,0xbb,0xc6,
    0x1f,0x37,0x5a,0xbe,0x0c,0x69,0xf9,0x0a,0xac,0xa3,0xd1,0xf2,0x35,0xb8,0x6a,0x39,
    0x65,0xb4,0x88,0xef,0xa4,0x1b,0xa7,0xe0,0x3e,0x69,0xb4,0x9c,0x0e,0xed,0xe7,0xd3,
    0x46,0x8b,0xc6,0x9f,0x32,0x5a,0xbe,0x09,0x69,0xf9,0x16,0x6c,0x97,0xd1,0xf2,0x1d,
    0xb8,0x6a,0x39,0x6b,0xb4,0x88,0xef,0x8c,0x1b,0x67,0xe1,0x3e,0x63,0xb4,0x9c,0x33,
    0x7d,0x17,0x2d,0xe7,0xf8,0x4d,0x23,0x5a,0x34,0xfe,0x6c,0xa8,0xc7,0x87,0x42,0x7b,
    0x74,0x8f,0xd9,0xf3,0x3f,0xc0,0x27,0x5c,0x17,0xb0,0xff,0x70,0xb7,0x47,0x67,0x37,
    0x3a,0xf2,0x8e,0x67,0xa2,0x4d,0x7e,0x77,0x75,0x72,0x71,0x09,0x7e,0x73,0x09,0x57,
    0x6d,0xb3,0xff,0xea,0x80,0xef,0x27,0xc7,0xfa,0x60,0x75,0xc9,0xb1,0x81,0xc9,0xb1,
    0x3e,0xff,0x3b,0xca,0x81,0x27,0xcb,0xf0,0x5c,0x02,0xcf,0x52,0xd6,0xcf,0x06,0x93,
    0xff,0x77,0xfc,0xe9,0x62,0xb3,0x99,0x93,0x63,0xe6,0x34,0x62,0xce,0x3c,0xe6,0x34,
    0x01,0x6b,0x6c,0x78,0x2e,0x03,0x6f,0xea,0x75,0x25,0x3c,0xd6,0x9c,0xbb,0xb2,0x29,
    0xfe,0x66,0xac,0xd1,0x9c,0x35,0x44,0xf3,0x5f,0xd4,0xe3,0x6f,0xfa,0xe5,0x82,0x75,
    0x9c,0x13,0x00,0x00
};

// Generated from:
//
// #version 450 core
//
// #extension GL_EXT_samplerless_texture_functions : require
//
// layout(set = 0, binding = 0)uniform utexture3D src;
// layout(location = 0)out vec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
//     ivec2 srcOffset;
//     ivec2 destOffset;
//     int srcMip;
//     int srcLayer;
//
//     bool flipX;
//     bool flipY;
//
//     bool premultiplyAlpha;
//     bool unmultiplyAlpha;
//
//     bool destHasLuminance;
//     bool destIsAlpha;
//
//     bool srcIsSRGB;
//     bool destIsSRGB;
//
//     int destDefaultChannelsMask;
//     bool rotateXY;
// } params;
//
// float sRGBToLinear(float sRGB)
// {
//
//     if(sRGB <= 0.04045)
//     {
//         return sRGB / 12.92;
//     }
//     else
//     {
//         return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
//     }
// }
//
// void main()
// {
//     ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
//
//     ivec2 srcSubImageCoords = destSubImageCoords;
//
//     if(params . flipX)
//     {
//         srcSubImageCoords . x = - srcSubImageCoords . x;
//     }
//     if(params . flipY)
//     {
//         srcSubImageCoords . y = - srcSubImageCoords . y;
//     }
//     if(params . rotateXY)
//     {
//         srcSubImageCoords . xy = srcSubImageCoords . yx;
//     }
//
//           uvec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
//     if(params . premultiplyAlpha)
//     {
//         srcValue . rgb *= srcValue . a;
//     }
//     else if(params . unmultiplyAlpha && srcValue . a > 0)
//     {
//         srcValue . rgb /= srcValue . a;
//     }
//
//            vec4 destValue = vec4(srcValue);
//
//     destValue /= 255.0;
//
//     if(params . destIsSRGB)
//     {
//
//         destValue . r = sRGBToLinear(destValue . r);
//         destValue . g = sRGBToLinear(destValue . g);
//         destValue . b = sRGBToLinear(destValue . b);
//     }
//
//     if(params . destHasLuminance)
//     {
//         destValue . rg = destValue . ra;
//     }
//     else if(params . destIsAlpha)
//     {
//         destValue . r = destValue . a;
//     }
//     else
//     {
//         int defaultChannelsMask = params . destDefaultChannelsMask;
//         if((defaultChannelsMask & 2)!= 0)
//         {
//             destValue . g = 0;
//         }
//         if((defaultChannelsMask & 4)!= 0)
//         {
//             destValue . b = 0;
//         }
//         if((defaultChannelsMask & 8)!= 0)
//         {
//             destValue . a = 1;
//         }
//     }
//
//     dest = destValue;
// }
