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