1// GENERATED FILE - DO NOT EDIT. 2// Generated by gen_vk_internal_shaders.py. 3// 4// Copyright 2018 The ANGLE Project Authors. All rights reserved. 5// Use of this source code is governed by a BSD-style license that can be 6// found in the LICENSE file. 7// 8// shaders/gen/ImageCopy.frag.00000006.inc: 9// Pre-generated shader for the ANGLE Vulkan back-end. 10 11#pragma once 12constexpr uint8_t kImageCopy_frag_00000006[] = { 13 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x85,0x96,0x8b,0x53,0x95,0x55, 14 0x14,0xc5,0x3f,0xee,0x05,0x2e,0x0f,0x79,0x08,0x28,0xa1,0x62,0xf9,0xea,0x21,0x86, 15 0x58,0x60,0x24,0x50,0x92,0x91,0x48,0x18,0x15,0x50,0x99,0x26,0x5a,0x58,0x29,0x49, 16 0x1a,0x44,0x51,0x4a,0x6a,0x9a,0x49,0xe5,0xa3,0x97,0x58,0x89,0x56,0xa2,0x56,0xd3, 17 0xdf,0xd1,0x5f,0xd4,0xf4,0x98,0x69,0xa6,0xb3,0xcf,0xfd,0x6d,0x66,0x75,0xc7,0x8a, 18 0x99,0x33,0xdf,0xdd,0x6b,0xef,0xb3,0xcf,0xda,0x6b,0x9f,0x6f,0x7f,0xa4,0x53,0xab, 19 0x32,0x49,0x92,0x97,0x94,0x24,0x45,0xc9,0x8f,0x49,0xf6,0x6f,0x61,0x92,0x0a,0x48, 20 0x92,0x94,0x26,0x85,0xf1,0xb9,0xb5,0xb7,0xbf,0xb7,0x71,0x6c,0x7c,0xb8,0xb1,0xb9, 21 0xa5,0xc9,0xfc,0xe5,0x49,0x3a,0xc6,0x99,0xaf,0x22,0xc9,0x24,0xf9,0xe1,0x69,0xeb, 22 0xe0,0xde,0xfd,0xa3,0x86,0x97,0x85,0x75,0x33,0xac,0xca,0x10,0x67,0x78,0xc6,0x72, 23 0x84,0x5f,0x65,0x31,0xa7,0xed,0x49,0x92,0xee,0xa4,0x20,0xa9,0xe6,0xbc,0x55,0x3c, 24 0x1d,0xcb,0x03,0x2b,0x12,0x2c,0x05,0x56,0x29,0x58,0x1a,0xac,0x46,0xb0,0x7c,0xb0, 25 0xdb,0x04,0x2b,0x00,0x5b,0x26,0x58,0x21,0xd8,0x1d,0x82,0x65,0xc0,0x56,0x0b,0x56, 26 0x04,0x76,0xb7,0x60,0xc5,0x60,0xeb,0x04,0x2b,0x01,0x6b,0x12,0xac,0x14,0xac,0x59, 27 0xb0,0x05,0x60,0xad,0x82,0x95,0x81,0xb5,0x47,0x9d,0xd2,0xf3,0xf5,0x9a,0x66,0x5b, 28 0xc2,0x73,0x25,0xfa,0xb8,0xbd,0x42,0x6c,0xd3,0x79,0x39,0x76,0x75,0xd8,0x95,0x8a, 29 0xfe,0x74,0xd4,0xc6,0x7e,0x2f,0x0a,0x31,0x85,0xd4,0x69,0xba,0xd6,0x06,0x3b,0x43, 30 0xfd,0xa9,0x88,0xe7,0xc7,0x1a,0x33,0xac,0xc5,0x61,0x67,0x09,0xf1,0x16,0x5b,0x4a, 31 0x6d,0xf9,0xc4,0x2e,0x20,0x8f,0xe1,0x6d,0xd8,0x65,0x92,0xbb,0x9c,0x78,0x3f,0xbb, 32 0x8a,0x5c,0x49,0xe4,0x59,0x39,0xaf,0xb3,0x73,0xb0,0x55,0xf5,0x3f,0xcb,0x63,0xec, 33 0xfc,0x1a,0xf4,0xaf,0xe6,0xfc,0x9a,0x78,0x4e,0x16,0x6b,0xa0,0xd6,0xc5,0xf0,0xb1, 34 0xf8,0x5a,0x7c,0x19,0xf1,0xd7,0x4b,0x3d,0xcb,0xf1,0x57,0xc5,0x7b,0x94,0x8a,0xda, 35 0x36,0xc0,0xdb,0x75,0xb7,0xb8,0x3b,0x85,0xb3,0xe7,0x69,0xe0,0x6e,0x79,0xfc,0x06, 36 0xce,0x75,0xff,0x46,0xb4,0x31,0x5d,0x1e,0x62,0xaf,0x9f,0xfb,0x30,0xf9,0x0c,0xaf, 37 0x0b,0x0c,0x3a,0xf1,0xe7,0x25,0xff,0xfc,0xcb,0x13,0x0e,0x8f,0xf0,0xbb,0x93,0xda, 38 0xcd,0xde,0x02,0xe6,0x67,0x76,0xe5,0xd8,0x3d,0xd2,0xe7,0xc7,0xa9,0x55,0x6b,0xe8, 39 0x13,0xdb,0x6a,0x18,0xe4,0xbd,0x32,0xce,0xcf,0xe1,0x4b,0x4b,0xfc,0x1e,0x78,0x9b, 40 0x7f,0x1c,0xdd,0xbc,0xa6,0x37,0xf1,0x8d,0x4b,0xfc,0x24,0xef,0x90,0xc5,0xbf,0x47, 41 0x7c,0x4a,0xfc,0xa7,0xe0,0x64,0xfb,0x3f,0x62,0x7f,0x95,0xf8,0x2f,0xf0,0xce,0x38, 42 0xbf,0x2b,0x52,0xcf,0x0d,0xb8,0x8d,0xa3,0xc7,0x0d,0xe6,0x4e,0x3a,0x6a,0x5f,0x10, 43 0xe3,0xf2,0xd1,0xc3,0xb0,0xdf,0x03,0x52,0x40,0x6c,0x91,0xdc,0x0b,0xb7,0x97,0x8a, 44 0x6d,0xfd,0xd9,0x2c,0xb6,0xd5,0x36,0x21,0xb6,0xdd,0x87,0xf3,0xd8,0x1d,0xbc,0x27, 45 0x15,0xf4,0xbb,0x2f,0xa0,0xe5,0xcc,0xaa,0x0a,0x96,0xf7,0x72,0x94,0xf7,0x6f,0x21, 46 0xfe,0xce,0xc0,0xa8,0x96,0x79,0xb5,0x88,0xbb,0xdb,0x41,0x4c,0x1d,0xf8,0x89,0x10, 47 0x63,0xf6,0x12,0xf6,0xd5,0xc5,0x7b,0x93,0x8e,0xfc,0x97,0x48,0xfc,0x32,0x6a,0x32, 48 0xdf,0x52,0x6c,0xcb,0x6f,0x77,0xfc,0x76,0xf2,0xd7,0x13,0xef,0xef,0xa5,0xe1,0x3f, 49 0x85,0x98,0x15,0x32,0x0f,0xed,0xde,0xff,0x16,0x72,0xac,0x81,0xf7,0x9f,0x21,0xde, 50 0xe7,0xe2,0x1a,0x74,0x5c,0x4d,0x6e,0xd3,0xe1,0x2e,0xb4,0x5b,0x49,0xee,0x42,0xe6, 51 0xa5,0xe1,0x53,0xd8,0xf7,0x80,0xf9,0x9e,0xb5,0xb2,0xc7,0xf8,0xae,0x25,0xe6,0x8f, 52 0x90,0xdb,0xcf,0x58,0x23,0xfc,0xd7,0xc1,0xbf,0x41,0xf8,0xdf,0x0b,0xee,0xfc,0x1b, 53 0xc1,0x9c,0x7f,0x93,0xf0,0x37,0xdf,0x7a,0xe6,0xb3,0xe5,0x5e,0x2f,0x5c,0xee,0x83, 54 0xcb,0x06,0xe1,0x7f,0x3f,0xb8,0xf3,0x6f,0x06,0xf3,0x3d,0x2d,0xb2,0xc7,0xf8,0xb7, 55 0x10,0x63,0xfc,0xfd,0x8c,0x26,0xe1,0xff,0x00,0xfc,0x37,0x0a,0xff,0x56,0x70,0xe7, 56 0xff,0x20,0x98,0xf3,0x6f,0x13,0xfe,0xe6,0xdb,0x14,0xef,0x5e,0x36,0xf7,0x26,0xe9, 57 0x7b,0x3b,0x5c,0xec,0xde,0x65,0xef,0x63,0x16,0x6b,0x97,0xf9,0xe1,0x77,0xa2,0x03, 58 0x8e,0x9e,0xa7,0x8d,0x3c,0x36,0x53,0x1e,0x65,0x9e,0xf8,0x9d,0x7c,0x0c,0xce,0x5d, 59 0x72,0xd6,0x56,0x70,0xb7,0xbb,0x39,0xfb,0x18,0x77,0x74,0x1b,0x31,0xdd,0xe4,0xb1, 60 0x99,0xd3,0x4b,0x9e,0x1e,0xd1,0x77,0x3b,0xf8,0x50,0xd8,0x65,0x33,0xf0,0x09,0xce, 61 0xdf,0xc6,0xfb,0xbd,0x1d,0xce,0x9b,0xf1,0xb9,0x8e,0x4f,0x92,0xab,0x4f,0x74,0x7c, 62 0x0a,0xdc,0x75,0x7c,0x1a,0xcc,0x75,0x1c,0x10,0x1d,0xcd,0xd7,0x1f,0xcf,0xcd,0xd6, 63 0xdf,0x2f,0x3d,0x7d,0x86,0x77,0x7e,0x50,0x78,0x3e,0x0b,0xde,0xc1,0x0c,0xdf,0x41, 64 0x4c,0x5f,0x98,0x18,0x36,0x1f,0x9f,0x07,0xdb,0x21,0xef,0x78,0x2a,0xf2,0x29,0x8c, 65 0xfe,0x9d,0xe4,0xf0,0x75,0x32,0x9c,0x65,0xf8,0x2e,0xf6,0xee,0x94,0xdc,0x2f,0xcc, 66 0xe7,0x2e,0x8e,0xf6,0x6e,0xb0,0x5d,0xcc,0xb1,0x02,0x99,0xc7,0xae,0xcd,0x6e,0xfa, 67 0x39,0x40,0x3d,0x43,0xa2,0xd5,0x5e,0xb4,0xda,0x23,0x5a,0xbd,0x08,0xee,0x5a,0xbd, 68 0x04,0xe6,0x5a,0xed,0x13,0xad,0xcc,0x37,0x1c,0xd6,0x3e,0x72,0x0f,0x8b,0x56,0x2f, 69 0xdf,0x42,0xab,0x57,0xc0,0x7f,0x26,0xf7,0xab,0x60,0x5d,0x70,0xf4,0x3c,0xf6,0xfc, 70 0x35,0xf4,0xdd,0x62,0xf6,0xc3,0x61,0x88,0xf8,0x61,0x78,0x8c,0x08,0x0f,0x8b,0x39, 71 0x10,0xd6,0x08,0xfb,0x0f,0x08,0x8f,0xd7,0x6e,0xc1,0xe3,0x20,0xb8,0xeb,0x3a,0x9a, 72 0xd3,0xb3,0xd7,0xc1,0x46,0xff,0xa5,0x67,0x87,0xc8,0xe1,0xeb,0x34,0x3d,0x3b,0xcc, 73 0xde,0x43,0x92,0xfb,0x8d,0x9c,0x9e,0x8d,0x81,0x1d,0xfe,0x8f,0x9e,0x8d,0xa1,0x87, 74 0xd7,0x33,0x92,0xd3,0xc3,0x01,0xc9,0xff,0x16,0xf9,0x8f,0xf0,0xbd,0x7d,0x1b,0xcc, 75 0x72,0x4d,0x60,0x7b,0xbf,0xdf,0xa1,0xdf,0x93,0xd2,0xef,0x77,0xc1,0xbd,0xdf,0x47, 76 0xc0,0xbc,0xdf,0x53,0xa2,0xb3,0xf9,0x8e,0xc6,0x3b,0x9a,0xe5,0x71,0x94,0x3c,0xe3, 77 0xf1,0xfd,0xce,0x7e,0xff,0x6c,0xc6,0xd8,0x77,0xfc,0x38,0xd8,0x31,0xf9,0xbe,0x7a, 78 0xec,0x89,0xf9,0xd8,0xe2,0x68,0xbf,0x0f,0x76,0x5c,0x34,0x49,0x89,0x26,0x13,0xc4, 79 0x98,0x06,0x53,0x9c,0x7d,0x52,0xea,0xfa,0x80,0xba,0x4e,0x49,0x5d,0xa7,0xc1,0xbd, 80 0xae,0x0f,0xc1,0xbc,0xae,0x69,0xa9,0xcb,0x7c,0x67,0xc2,0x3a,0x47,0xee,0x33,0xe4, 81 0xb6,0xff,0x37,0x3e,0x86,0xeb,0xa0,0xe4,0xfe,0x04,0xdc,0x63,0xce,0x12,0xe3,0xdf, 82 0xaa,0xb3,0xc4,0x18,0xdf,0x69,0x72,0x9e,0x93,0x79,0xf7,0x29,0x7c,0x2f,0xc8,0x9d, 83 0xfc,0x0c,0xdc,0xf6,0x9f,0xc7,0x76,0xdf,0xe7,0xfc,0x2f,0xf1,0x4b,0xd8,0x6f,0xf6, 84 0x17,0x60,0x3d,0x52,0xdf,0x97,0xe0,0x5d,0xd4,0x37,0x23,0xf5,0x99,0xef,0x62,0x58, 85 0x33,0x70,0xb9,0x28,0xdc,0x2f,0xc1,0xdd,0xbf,0x53,0x97,0xa8,0xc3,0xb8,0x7b,0xfc, 86 0x8c,0x70,0xf9,0x2a,0x87,0xcb,0xd7,0x60,0xf5,0xc2,0xe5,0x1b,0x70,0xe7,0x32,0x2b, 87 0x5c,0xcc,0x77,0x39,0xac,0x59,0x72,0x5f,0x16,0x2e,0x57,0xe1,0x72,0x05,0x2e,0x57, 88 0x85,0x8b,0xc7,0xcf,0x0a,0x97,0x6f,0x73,0xb8,0x7c,0x07,0x36,0x29,0x5c,0xbe,0x07, 89 0x77,0x2e,0x73,0xc2,0xc5,0x7c,0xd7,0xc2,0x9a,0x23,0xf7,0x35,0xe1,0x72,0x5d,0xfa, 90 0x6e,0x5c,0xae,0xa3,0x91,0x71,0xf1,0xf8,0xb9,0x9c,0x1e,0x4f,0xe7,0xdc,0xd1,0x29, 91 0xb9,0xf3,0x3f,0x90,0xcf,0x72,0xdd,0xc4,0xfe,0x2b,0x4c,0x96,0xd6,0xb0,0xfe,0x06, 92 0x0e,0xdd,0x62,0x77,0x64,0x0f,0x00,0x00 93}; 94 95// Generated from: 96// 97// #version 450 core 98// 99// #extension GL_EXT_samplerless_texture_functions : require 100// 101// layout(set = 0, binding = 0)uniform itexture2D src; 102// layout(location = 0)out uvec4 dest; 103// 104// layout(push_constant)uniform PushConstants { 105// 106// ivec2 srcOffset; 107// ivec2 destOffset; 108// int srcMip; 109// int srcLayer; 110// 111// bool flipX; 112// bool flipY; 113// 114// bool premultiplyAlpha; 115// bool unmultiplyAlpha; 116// 117// bool destHasLuminance; 118// bool destIsAlpha; 119// 120// bool srcIsSRGB; 121// bool destIsSRGB; 122// 123// int destDefaultChannelsMask; 124// bool rotateXY; 125// } params; 126// 127// void main() 128// { 129// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset; 130// 131// ivec2 srcSubImageCoords = destSubImageCoords; 132// 133// if(params . flipX) 134// { 135// srcSubImageCoords . x = - srcSubImageCoords . x; 136// } 137// if(params . flipY) 138// { 139// srcSubImageCoords . y = - srcSubImageCoords . y; 140// } 141// if(params . rotateXY) 142// { 143// srcSubImageCoords . xy = srcSubImageCoords . yx; 144// } 145// 146// ivec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip); 147// 148// if(params . premultiplyAlpha) 149// { 150// srcValue . rgb *= srcValue . a; 151// } 152// else if(params . unmultiplyAlpha && srcValue . a > 0) 153// { 154// srcValue . rgb /= srcValue . a; 155// } 156// 157// uvec4 destValue = uvec4(srcValue); 158// 159// if(params . destHasLuminance) 160// { 161// destValue . rg = destValue . ra; 162// } 163// else if(params . destIsAlpha) 164// { 165// destValue . r = destValue . a; 166// } 167// else 168// { 169// int defaultChannelsMask = params . destDefaultChannelsMask; 170// if((defaultChannelsMask & 2)!= 0) 171// { 172// destValue . g = 0; 173// } 174// if((defaultChannelsMask & 4)!= 0) 175// { 176// destValue . b = 0; 177// } 178// if((defaultChannelsMask & 8)!= 0) 179// { 180// destValue . a = 1; 181// } 182// } 183// 184// dest = destValue; 185// } 186