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.00000001.inc: 9// Pre-generated shader for the ANGLE Vulkan back-end. 10 11#pragma once 12constexpr uint8_t kImageCopy_frag_00000001[] = { 13 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x85,0x56,0xfd,0x6b,0x96,0x65, 14 0x14,0x7e,0xce,0xfb,0x6e,0x6e,0xce,0x4d,0x37,0xd4,0x3e,0xfc,0x28,0xd7,0x22,0x63, 15 0xda,0x58,0xba,0x99,0x5f,0x9b,0x5a,0xf9,0x89,0x6d,0xba,0x50,0x2b,0x0d,0x93,0x14, 16 0x31,0x99,0xa5,0x9b,0x3f,0x49,0x66,0x33,0x5d,0x08,0x96,0x28,0xa5,0xfe,0xa2,0x24, 17 0x4a,0xe9,0xa0,0x20,0x14,0xb4,0xf5,0xcb,0x10,0x31,0x8d,0x88,0xa9,0xb3,0x32,0x2b, 18 0xcc,0xf4,0x3f,0x28,0xf3,0xa3,0x8f,0x73,0x3d,0xe7,0x3a,0xee,0xf0,0x92,0x34,0xb8, 19 0xf7,0x3c,0xf7,0x75,0xbe,0xae,0x73,0xdd,0xe7,0x79,0xde,0x27,0x9b,0xa9,0x28,0x48, 20 0x12,0x49,0x8a,0x92,0xc2,0xe4,0x92,0x24,0xe9,0x5f,0x59,0x92,0x49,0x70,0xdb,0x2f, 21 0xe9,0x93,0x5e,0x67,0xce,0x7d,0x7e,0x6e,0x55,0x4b,0xeb,0xf2,0xaa,0x9a,0xda,0x6a, 22 0xd8,0xfb,0x27,0xd9,0xd4,0x0f,0xb6,0x01,0x49,0x41,0x92,0xa7,0x57,0xac,0xe6,0x65, 23 0xab,0xd6,0x00,0x3f,0xa7,0xeb,0xba,0xae,0x52,0xf5,0x03,0xae,0x05,0x92,0x59,0x49, 24 0x7e,0xf2,0xa4,0xa5,0x4f,0x2a,0x78,0x75,0x4c,0x88,0x15,0x06,0x2c,0x43,0xac,0x34, 25 0x60,0x59,0x62,0x83,0x02,0x96,0x47,0xec,0x81,0x80,0xe5,0x13,0x1b,0x16,0xb0,0x3e, 26 0xc4,0x46,0x04,0xac,0x80,0xd8,0xa3,0x01,0x2b,0x24,0xf6,0x78,0xc0,0xfa,0x12,0x1b, 27 0x1d,0xb0,0x22,0x62,0xd5,0x01,0xeb,0x47,0xac,0x26,0x60,0xc5,0xc4,0xc6,0x07,0xac, 28 0x84,0xd8,0xe4,0x80,0xf5,0x27,0x36,0x15,0x7a,0x6b,0xa7,0xae,0xc1,0x4c,0xed,0xf0, 29 0x1c,0x73,0x0f,0xe0,0xfe,0xb2,0x5e,0x1f,0xa1,0x86,0xbe,0x2f,0x0f,0x7b,0x68,0xff, 30 0x10,0xf7,0x03,0x35,0x4b,0x26,0xb5,0x67,0x53,0xfd,0x70,0x7f,0x9f,0xde,0xf5,0xa1, 31 0x16,0x83,0xd5,0xbf,0x98,0xf7,0x38,0x87,0xfb,0x75,0x5f,0x42,0xde,0x19,0xee,0x07, 32 0x52,0xbf,0x3c,0xee,0x07,0xd3,0x8e,0xfd,0x28,0xfd,0x0f,0xdb,0x50,0xe8,0x5d,0xf5, 33 0xdc,0xa4,0x41,0x1a,0x35,0x2c,0xe0,0xe0,0xd5,0x74,0xbc,0x61,0x9a,0xef,0x1f,0xd3, 34 0xb5,0x60,0x41,0x4f,0xbd,0xef,0xa1,0x73,0x5d,0x51,0xfb,0x14,0xdf,0x57,0xea,0xfa, 35 0x74,0xe6,0xb2,0x3a,0xf0,0xaa,0x26,0xaf,0x24,0xed,0xa7,0xec,0xae,0x76,0xce,0xcf, 36 0x57,0xf5,0xff,0x2c,0xf7,0x19,0xa1,0x39,0xc7,0xf0,0x3c,0x91,0x6b,0x12,0xf7,0x63, 37 0x89,0x8d,0xa2,0x16,0x35,0xd4,0x02,0xfe,0xb5,0xb4,0x95,0x04,0xfb,0x04,0xce,0x18, 38 0xec,0x13,0x69,0xaf,0xa6,0x1d,0xd7,0x3a,0x72,0x76,0xff,0x19,0xd4,0xcf,0xf7,0xf3, 39 0x79,0xde,0xbe,0x5f,0xc2,0xf3,0xf5,0xfd,0x3a,0xce,0x26,0xb4,0xde,0xc0,0xd8,0x6c, 40 0xb0,0xb7,0x71,0x4e,0x5d,0xb3,0x6d,0xa1,0x1e,0xf6,0xbb,0xd3,0xdd,0x5b,0xcf,0xb8, 41 0xff,0xbe,0x9c,0xfe,0x0e,0x73,0x7e,0x7d,0x7f,0x94,0xfd,0xa1,0x9f,0x63,0xf4,0x2d, 42 0x0e,0xf6,0x13,0x9c,0x05,0xdf,0x77,0xe6,0xf4,0xd7,0xc5,0x59,0x40,0x7c,0x37,0xb5, 43 0x1b,0x48,0x7d,0xbb,0xf9,0x3e,0xf0,0xd9,0x3a,0xcf,0x7e,0x90,0xef,0x41,0xad,0x74, 44 0x89,0x7b,0xbe,0x7a,0xee,0xfe,0xf9,0x1e,0x39,0x7f,0xe4,0xfd,0x25,0xe6,0xc4,0xfe, 45 0x72,0xb0,0x5f,0xa3,0x3e,0x83,0x69,0xbf,0xc6,0xf7,0x0f,0xb0,0x71,0x7a,0x52,0x19, 46 0xf2,0x4b,0x88,0xfd,0xa9,0x48,0x7e,0x7a,0x4e,0x36,0xdb,0x17,0xc8,0xb1,0x51,0x55, 47 0x07,0xbf,0x1e,0x62,0x17,0x02,0x97,0x35,0x7c,0x2e,0x2e,0xd2,0x3e,0x4d,0x33,0x60, 48 0x36,0xfe,0xe0,0xfc,0xd4,0x30,0x1f,0x7c,0x6e,0x10,0x6f,0x53,0x9f,0x92,0xb4,0x9e, 49 0xc5,0xdd,0x60,0x1c,0x66,0xe6,0x26,0xe3,0x26,0x30,0x0e,0x73,0x73,0x8b,0x78,0x87, 50 0xfa,0xe0,0x19,0xba,0x4d,0xac,0x2e,0x8d,0xcd,0x26,0x42,0x51,0x6e,0xa9,0x3f,0x6c, 51 0x77,0xc0,0x4d,0xac,0x9f,0x3b,0xe9,0x5c,0xe5,0xa7,0xe7,0xf1,0x37,0x6b,0xe2,0x6f, 52 0x23,0xcf,0xe8,0x1f,0xe2,0x4d,0xaa,0x36,0x38,0x7d,0x26,0x86,0xb9,0xdf,0x4d,0xbc, 53 0xf3,0x99,0x0b,0xd7,0xdf,0x55,0x0b,0xf8,0x7d,0x25,0xe6,0x93,0xcf,0x98,0x3b,0xa1, 54 0x87,0x8c,0x58,0x0f,0x33,0x42,0x0f,0x59,0x31,0xdc,0x7b,0xc8,0x13,0xc3,0xbc,0x87, 55 0xa2,0xd0,0x03,0x6c,0xf9,0xba,0x8a,0x58,0x17,0xf7,0xde,0x43,0x81,0x58,0x6d,0x09, 56 0x3d,0x14,0x8a,0xe1,0xde,0xc3,0xe7,0x62,0x98,0xfb,0xa1,0x07,0xcf,0x55,0x14,0x7a, 57 0x38,0xe3,0x3e,0x62,0x31,0xa8,0xe3,0x3d,0xf4,0x63,0x0f,0xf3,0x43,0x0f,0xc5,0x62, 58 0xb8,0xf7,0x50,0x22,0x86,0x79,0x0f,0x65,0xa1,0x07,0xd8,0xfa,0xeb,0x2a,0x63,0x5d, 59 0xdc,0x37,0xb2,0x6e,0xa9,0x58,0xed,0x33,0xd2,0x3b,0xcf,0xe0,0xe8,0xbe,0x65,0x81, 60 0xe3,0x59,0xfa,0x81,0x77,0x29,0x73,0x82,0x0f,0x66,0xfe,0x27,0xce,0xbb,0xcf,0xdc, 61 0xcf,0x9c,0x9d,0xce,0x30,0x73,0xbf,0x10,0xdf,0xc4,0x99,0xbb,0x42,0xec,0x2c,0x7b, 62 0xc5,0x73,0xfd,0x2b,0xe3,0x4e,0x30,0x0e,0x9a,0x5e,0x25,0xbe,0x54,0x79,0xe0,0x59, 63 0xf8,0x8d,0xf5,0xae,0xf0,0x19,0xbd,0x1a,0xce,0x7b,0x08,0xb5,0x5a,0x12,0xb4,0x1a, 64 0x2a,0x86,0xbb,0x56,0xc3,0xc4,0x30,0xd7,0xaa,0x32,0x68,0x05,0xdb,0x70,0x5d,0x95, 65 0xec,0x7f,0x38,0xcf,0x1b,0xcf,0xff,0xc3,0x62,0xb5,0x13,0xc6,0xb5,0x33,0xee,0xb6, 66 0xde,0x23,0xd7,0x06,0xc6,0xe0,0xfa,0x25,0x6b,0xbd,0x29,0x16,0x37,0x94,0x31,0x5b, 67 0x43,0x2d,0xd8,0x36,0xea,0x7a,0x9b,0x71,0xb8,0x16,0x6b,0x8f,0xa8,0xb5,0x99,0xe7, 68 0x31,0x84,0x75,0xf1,0x9b,0xb4,0x85,0x3c,0xde,0x11,0xb3,0xe3,0x77,0x69,0x33,0xb1, 69 0x2d,0x62,0x78,0x25,0xcf,0xaf,0x9d,0x39,0x91,0xdf,0xe3,0x36,0x91,0x4b,0x79,0x8e, 70 0xcf,0xd6,0xf4,0x39,0x93,0xf4,0xbe,0x9d,0xe7,0x0d,0xff,0xaf,0xc5,0xf2,0x82,0xd7, 71 0x26,0x72,0xc5,0x5c,0xe3,0x0c,0x8e,0x89,0xd9,0x5d,0x0f,0xd7,0xa8,0x82,0x98,0xb0, 72 0xdf,0xbd,0x39,0x1a,0x6d,0x67,0xcd,0xed,0x41,0xa3,0xf7,0xc5,0xe2,0x5c,0xa3,0x3d, 73 0x41,0x23,0xd8,0x76,0xe8,0xda,0xc5,0xb8,0x5d,0x41,0xa3,0x0f,0x82,0x46,0x15,0x39, 74 0x1a,0x7d,0x28,0x66,0x8f,0x1a,0xed,0x16,0xc3,0x5d,0xa3,0xbd,0xcc,0xb9,0x23,0x68, 75 0xb4,0x93,0x5c,0xca,0x73,0x7c,0xf6,0x04,0x8d,0xf6,0x06,0x8d,0xbe,0x11,0xcb,0x0b, 76 0x5e,0x3b,0xc9,0xd5,0x35,0x3a,0x2e,0x66,0x3f,0x46,0x9e,0xae,0xd1,0x48,0x6a,0x94, 77 0x61,0xbf,0x1d,0x39,0x1a,0xed,0x67,0xcd,0xfd,0x41,0xa3,0x8f,0xc4,0xe2,0x5c,0xa3, 78 0x23,0x41,0x23,0xd8,0x0e,0xe8,0x3a,0xc4,0xb8,0x43,0x41,0xa3,0x8f,0x83,0x46,0x23, 79 0x73,0x34,0xfa,0x44,0xcc,0x1e,0x35,0x3a,0x2c,0x86,0xbb,0x46,0x1d,0xcc,0x79,0x20, 80 0x68,0x74,0x90,0x5c,0xca,0x73,0x7c,0x8e,0x04,0x8d,0x3a,0x82,0x46,0xdf,0x8a,0xe5, 81 0x05,0xaf,0x83,0xe4,0xea,0x1a,0x75,0x8a,0xd9,0xa1,0x55,0x86,0xf9,0xfc,0xd9,0xab, 82 0x64,0x0e,0xf8,0x75,0x53,0x33,0xbc,0x8f,0x10,0xd3,0x11,0xde,0x8f,0xa3,0xf8,0xcc, 83 0xaf,0x0b,0xcf,0xfc,0x68,0x31,0xdc,0x9f,0xf9,0x27,0xc4,0x30,0x7f,0xe6,0xe7,0x04, 84 0xfd,0x60,0xab,0xd2,0x35,0x8e,0x75,0xc7,0x85,0xdc,0x4f,0x31,0x77,0x5b,0xc8,0x3d, 85 0x5e,0x0c,0xf7,0xdc,0x13,0xc4,0x30,0xcf,0x5d,0x1f,0x72,0xc3,0x36,0x51,0x57,0x3d, 86 0x73,0x4f,0x0c,0xef,0x93,0xc9,0x62,0x7d,0xe1,0xf7,0xfe,0x0b,0xe6,0xaa,0x13,0xc3, 87 0xb7,0x51,0x0b,0x8f,0xab,0xa7,0x16,0xf0,0x99,0x22,0x56,0x13,0x3c,0xeb,0x98,0x1f, 88 0x75,0x67,0x87,0xba,0xf0,0x99,0xaa,0x6b,0x36,0xe3,0xa7,0x86,0xba,0x4f,0x87,0xba, 89 0x8d,0xfa,0x95,0x86,0xef,0xb7,0x67,0x89,0x75,0x4b,0xef,0xf7,0x04,0xce,0x63,0x9e, 90 0x46,0xc0,0x3e,0x5d,0x2c,0xce,0xd7,0xbb,0x9a,0x0b,0xf8,0x0c,0xb1,0xd8,0xe9,0xe9, 91 0x6f,0x4a,0xdf,0xf4,0xac,0x66,0x31,0x0f,0x6c,0x79,0xfc,0x5d,0xf6,0xef,0x43,0xf4, 92 0xe4,0x9c,0x66,0x87,0xf3,0xbd,0xc0,0x18,0xf4,0x39,0x8b,0xdc,0xe1,0x3b,0x87,0xbe, 93 0x55,0x81,0x7f,0xf5,0x7f,0xf0,0x1f,0x73,0x0f,0xfe,0xef,0x91,0xe7,0x58,0x31,0x9f, 94 0xea,0xc0,0xb3,0x96,0xfe,0x63,0xef,0xc1,0xd3,0x6b,0xcf,0x09,0x3c,0xcf,0x8b,0x71, 95 0x05,0xf7,0x5a,0xce,0x0d,0x6a,0xc0,0x36,0x57,0xcc,0xbe,0x9b,0xdf,0x62,0xf8,0xd6, 96 0x6b,0x10,0xc3,0x7d,0x9e,0x1a,0x39,0x4f,0xfb,0xc2,0x3c,0xcd,0x13,0xc3,0x7d,0x9e, 97 0xe6,0x8b,0x61,0x3e,0x4f,0xeb,0xc3,0xb9,0xc2,0xd6,0xa4,0x6b,0x11,0xb9,0x2d,0x0a, 98 0xb9,0x5f,0x60,0xee,0xc3,0x21,0xf7,0x8b,0x62,0xb8,0xe7,0x7e,0x49,0x0c,0xf3,0xdc, 99 0xad,0x21,0x37,0x6c,0x8b,0x75,0x2d,0x65,0xee,0xa5,0xe1,0x77,0xf9,0x15,0xe6,0x3e, 100 0x1a,0x7e,0x97,0x97,0x89,0xe1,0xa7,0xf9,0x3d,0xf4,0xaa,0x18,0x76,0x22,0x7c,0x1f, 101 0x2e,0x17,0xc3,0x3b,0x59,0x6f,0x65,0xa8,0x07,0xdb,0x0a,0x5d,0x2b,0x59,0x6f,0x05, 102 0xdf,0x0b,0xd0,0xed,0x24,0x63,0x1a,0xc2,0x77,0x93,0xfb,0xad,0xe4,0x79,0xc0,0xaf, 103 0x47,0xcc,0x07,0x5c,0x4f,0x32,0x9f,0xf3,0x59,0x45,0x3e,0x5d,0x81,0xcf,0x6b,0x62, 104 0xb8,0xf3,0x69,0x0e,0x7c,0x60,0x5b,0xad,0xab,0x99,0x75,0x56,0x07,0x3e,0xa7,0x18, 105 0xd3,0x13,0xde,0x53,0xee,0xd7,0x1c,0xf8,0x5c,0x14,0xf3,0x01,0xc7,0x53,0xcc,0xe7, 106 0x7c,0x5e,0x27,0x9f,0xb6,0xc0,0xe7,0x0d,0x31,0xdc,0xf9,0xb4,0x04,0x3e,0xb0,0xad, 107 0xd5,0xd5,0xc2,0x3a,0x6b,0x03,0x9f,0xd3,0x62,0xdf,0xf3,0x17,0xa5,0x77,0x5e,0xdd, 108 0xaf,0x25,0xf0,0xf9,0x41,0xcc,0x07,0x1c,0x4f,0x33,0x1f,0x7c,0x5b,0xe9,0xbb,0x38, 109 0x7c,0xcf,0xbe,0x4c,0x2d,0xb3,0x49,0x6f,0x9d,0x2e,0xe9,0xc5,0xfd,0xdb,0xd0,0x63, 110 0x5b,0x43,0x9d,0xef,0xc5,0x6a,0xa1,0x76,0x17,0xe7,0x08,0xbe,0xeb,0xe9,0xdb,0xc4, 111 0xe7,0x0e,0xbe,0x0b,0x99,0xaf,0x81,0xcf,0x5d,0x01,0x9f,0x55,0xef,0xc3,0x63,0xd6, 112 0x87,0xfc,0xdf,0x89,0xd5,0x40,0xcd,0x85,0x7c,0x06,0xea,0x35,0xe2,0x3a,0x6d,0x7f, 113 0xe9,0x94,0x8c,0xd7,0xf5,0x2f,0x6a,0x2a,0x08,0xdf,0x2c,0x12,0x00,0x00 114}; 115 116// Generated from: 117// 118// #version 450 core 119// 120// #extension GL_GOOGLE_include_directive : require 121// #extension GL_EXT_samplerless_texture_functions : require 122// 123// layout(set = 0, binding = 0)uniform texture2D src; 124// layout(location = 0)out ivec4 dst; 125// 126// #line 1 "shaders/src/ImageCopy.inc" 127// 128// layout(push_constant)uniform PushConstants { 129// 130// ivec2 srcOffset; 131// ivec2 dstOffset; 132// int srcMip; 133// int srcLayer; 134// int srcSampleCount; 135// 136// bool flipX; 137// bool flipY; 138// 139// bool premultiplyAlpha; 140// bool unmultiplyAlpha; 141// 142// bool dstHasLuminance; 143// bool dstIsAlpha; 144// 145// bool srcIsSRGB; 146// bool dstIsSRGB; 147// 148// int dstDefaultChannelsMask; 149// bool rotateXY; 150// } params; 151// 152// float linearToSRGB(float linear) 153// { 154// 155// if(linear <= 0.0031308) 156// { 157// return linear * 12.92; 158// } 159// else 160// { 161// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f; 162// } 163// } 164// 165// ivec2 transformImageCoords(ivec2 glFragCoords) 166// { 167// ivec2 imageCoordsOut = glFragCoords - params . dstOffset; 168// 169// if(params . flipX) 170// { 171// imageCoordsOut . x = - imageCoordsOut . x; 172// } 173// if(params . flipY) 174// { 175// imageCoordsOut . y = - imageCoordsOut . y; 176// } 177// if(params . rotateXY) 178// { 179// imageCoordsOut . xy = imageCoordsOut . yx; 180// } 181// 182// return imageCoordsOut; 183// } 184// 185// ivec4 transformSrcValue(vec4 srcValue) 186// { 187// 188// if(params . srcIsSRGB) 189// { 190// 191// srcValue . r = linearToSRGB(srcValue . r); 192// srcValue . g = linearToSRGB(srcValue . g); 193// srcValue . b = linearToSRGB(srcValue . b); 194// } 195// 196// if(params . premultiplyAlpha) 197// { 198// srcValue . rgb *= srcValue . a; 199// } 200// else if(params . unmultiplyAlpha && srcValue . a > 0) 201// { 202// srcValue . rgb /= srcValue . a; 203// } 204// 205// srcValue *= 255.0; 206// 207// ivec4 dstValue = ivec4(srcValue); 208// 209// if(params . dstHasLuminance) 210// { 211// dstValue . rg = dstValue . ra; 212// } 213// else if(params . dstIsAlpha) 214// { 215// dstValue . r = dstValue . a; 216// } 217// else 218// { 219// int defaultChannelsMask = params . dstDefaultChannelsMask; 220// if((defaultChannelsMask & 2)!= 0) 221// { 222// dstValue . g = 0; 223// } 224// if((defaultChannelsMask & 4)!= 0) 225// { 226// dstValue . b = 0; 227// } 228// if((defaultChannelsMask & 8)!= 0) 229// { 230// dstValue . a = 1; 231// } 232// } 233// 234// return dstValue; 235// } 236// #line 56 "shaders/src/ImageCopy.frag" 237// 238// void main() 239// { 240// ivec2 srcSubImageCoords = transformImageCoords(ivec2(gl_FragCoord . xy)); 241// 242// vec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip); 243// 244// dst = transformSrcValue(srcValue); 245// } 246