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