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/OverlayCull.comp.00000002.inc: 9// Pre-generated shader for the ANGLE Vulkan back-end. 10 11#pragma once 12constexpr uint8_t kOverlayCull_comp_00000002[] = { 13 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x94,0xdb,0x4b,0x94,0x51, 14 0x14,0xc5,0xf7,0x7c,0x33,0x8e,0x56,0x50,0xe6,0x14,0x62,0xde,0x2a,0xc1,0x17,0x45, 15 0x82,0x2e,0x04,0x21,0x93,0xf4,0x60,0xa8,0xe0,0x25,0x7a,0xeb,0x25,0xf2,0x36,0x92, 16 0x81,0xd6,0x43,0x82,0x92,0x65,0x17,0x93,0x6a,0x22,0xea,0xa9,0x07,0x93,0x30,0xb1, 17 0x46,0xb1,0x8c,0xd0,0x9e,0xfb,0x97,0xa2,0x12,0x82,0xf6,0x3e,0xf3,0xfb,0x6c,0x37, 18 0x34,0x70,0x38,0xee,0xcb,0x59,0x67,0xad,0xbd,0x8e,0x5f,0x32,0x6a,0x2a,0x97,0x64, 19 0x42,0xf6,0x4a,0x85,0x7c,0x95,0xe2,0xef,0xa0,0x44,0x92,0x60,0x6f,0x67,0xcf,0xea, 20 0xbe,0x4f,0xd2,0x21,0xdf,0xd9,0x73,0xa9,0xa7,0xed,0xe6,0xad,0xc1,0xb6,0x53,0xa7, 21 0x4f,0x58,0xff,0x7e,0x49,0x86,0x73,0x56,0x3b,0x20,0xe5,0x52,0xa6,0x7b,0x4a,0xd7, 22 0xf8,0xd5,0xdc,0x0d,0xcb,0x57,0xe9,0xea,0xd2,0x55,0xa9,0xe7,0x53,0x01,0x4f,0xe4, 23 0x28,0xfd,0x01,0x4f,0xb3,0x55,0x01,0x5f,0xa4,0x96,0xd8,0xf6,0x74,0x38,0x23,0x72, 24 0x51,0x11,0xeb,0xe0,0xd6,0xc4,0xde,0xa9,0x77,0x5a,0x2e,0xa2,0xbf,0x41,0xf7,0xe3, 25 0xbb,0xb5,0x62,0x7c,0xcc,0xe1,0x77,0x81,0x7f,0x84,0x38,0x57,0xd2,0x9f,0xa3,0x3f, 26 0xc6,0xb6,0xb8,0x86,0xda,0x24,0x67,0x2d,0xce,0xe8,0x8d,0x51,0xe8,0x4d,0x06,0xd5, 27 0xf6,0xf7,0x61,0xed,0x49,0xa3,0xc9,0x7e,0xd5,0x1a,0x97,0xc3,0x3f,0x22,0xae,0x24, 28 0x4e,0x86,0xbe,0x54,0x98,0x41,0x02,0x7d,0xe7,0x88,0xab,0xc8,0xb5,0x80,0x97,0x01, 29 0xcf,0xfa,0x0f,0x51,0x4b,0x83,0x57,0xcd,0xdf,0x29,0xd7,0x6f,0xda,0xce,0xeb,0xaa, 30 0x63,0x7e,0xd5,0xe4,0x1a,0x98,0x55,0x2d,0x58,0xf5,0xf0,0xaa,0xe3,0xee,0xfa,0xd0, 31 0xf3,0x57,0x4b,0xa3,0xf3,0xa7,0xc5,0xc5,0x31,0x97,0xa6,0x5d,0x5d,0xa2,0xbc,0x22, 32 0x69,0x86,0xd3,0x49,0xdd,0x9b,0xa9,0xc5,0x9c,0xb2,0x25,0x9a,0x2e,0x30,0x83,0x58, 33 0x73,0x57,0x49,0xbd,0x57,0x57,0x85,0x8b,0xfb,0xd0,0xd8,0xaa,0x6f,0xc0,0x66,0xda, 34 0x4f,0x4f,0x9f,0xeb,0xb9,0x02,0xbf,0x1a,0xd9,0x23,0x23,0xcc,0x25,0x21,0xff,0xfe, 35 0x22,0x34,0x1a,0xff,0x51,0x72,0x23,0xf0,0xb0,0x38,0xe7,0xbc,0xbb,0xae,0x7b,0x23, 36 0x67,0x5a,0x15,0xcd,0x3c,0x9a,0xe4,0x9e,0x2c,0xeb,0x8c,0xf2,0x89,0xe0,0x26,0x68, 37 0xfa,0xa9,0x19,0x7b,0xfb,0xed,0xf8,0xdd,0x8d,0xbe,0x5e,0x65,0x6e,0xdc,0x7b,0xc8, 38 0x75,0x73,0xc6,0x38,0xde,0x47,0xd7,0x00,0x75,0xd3,0x37,0x4b,0xee,0x32,0x79,0xcb, 39 0x75,0x68,0xce,0xde,0xc0,0x6d,0xde,0x49,0x86,0x7b,0x4c,0xeb,0x14,0xf9,0x0e,0x8d, 40 0xcc,0x9b,0xe9,0x5d,0xad,0xc5,0x5a,0x3b,0xef,0x65,0x86,0x5a,0xbf,0x62,0xd9,0xb9, 41 0x3b,0xe4,0xc4,0xe5,0xee,0x92,0x33,0x6d,0x1b,0x9a,0x33,0x3f,0xef,0xd1,0x6b,0xb5, 42 0x1f,0xaa,0x74,0x9e,0x33,0x3b,0x8a,0x6b,0xb5,0x39,0x5d,0xf3,0xe8,0x9f,0x73,0x7a, 43 0x1f,0x80,0x35,0xe3,0xf4,0x1a,0xa6,0xbd,0x93,0x87,0xd4,0x4d,0xe3,0x6b,0xc5,0xb1, 44 0x7b,0x1e,0x91,0xff,0xa5,0x38,0x31,0x9e,0xed,0xdf,0x15,0xcd,0xea,0x8f,0xe1,0x52, 45 0x46,0xef,0x1c,0x7c,0xf2,0x8e,0x8f,0xf5,0x2c,0xe8,0xca,0x73,0x7e,0xc1,0xf1,0x79, 46 0xe2,0xf8,0x44,0x78,0xb6,0x0e,0x9f,0xa7,0xd4,0x07,0x1c,0x9f,0x67,0xe4,0x8d,0x4f, 47 0x8c,0x97,0x77,0x7c,0x9e,0xc3,0x69,0x9e,0x5e,0xbb,0x6b,0x55,0xa7,0x68,0x73,0x7c, 48 0x41,0x3d,0x8b,0x57,0xdf,0x98,0xef,0x4b,0x6a,0xe6,0xcb,0x68,0xa2,0xd8,0xfb,0x8a, 49 0xff,0x0b,0xa1,0x3e,0x4b,0xef,0x22,0x6f,0x6e,0xca,0x79,0xfb,0xc6,0x79,0xbb,0xe8, 50 0xbc,0x5d,0xa2,0x16,0xfb,0xf8,0x96,0x9c,0xf7,0x76,0x99,0x9c,0xf7,0xf6,0x1d,0xbd, 51 0xcb,0xcc,0xb2,0xe0,0x66,0x69,0xb5,0x15,0x5d,0x05,0xb4,0xaf,0xb8,0x59,0xae,0x82, 52 0xb5,0xf4,0x1f,0x6f,0xdf,0x53,0xf7,0xde,0x7e,0x20,0x6f,0xb3,0x8c,0xf1,0x0a,0x6e, 53 0x96,0x6b,0x70,0xc9,0xd3,0xbb,0x02,0x9f,0x4d,0xc7,0x67,0x2d,0xf8,0x25,0x21,0x67, 54 0xe7,0xd7,0x1d,0x9f,0x0d,0xc7,0xa7,0xd4,0xdb,0x8f,0xd4,0xbd,0xb7,0x9f,0xc8,0x1b, 55 0x9f,0x18,0x6f,0xd3,0xf1,0xf9,0x0c,0xa7,0x02,0xbd,0xeb,0xce,0xdb,0x2f,0xd4,0x4b, 56 0xbd,0xdd,0xa2,0xe6,0xbd,0xdd,0x76,0xde,0x6e,0x85,0x19,0x14,0xe7,0x3e,0x48,0x5f, 57 0x06,0x9d,0xc3,0x4e,0xa7,0xd5,0x86,0x74,0x0d,0xc3,0x6b,0x08,0x9f,0xed,0x7b,0x35, 58 0xc6,0xb7,0x6a,0x9a,0xef,0xd4,0x38,0xdf,0x8d,0x3e,0xe5,0x6d,0xef,0x60,0x82,0xf7, 59 0xb4,0x0d,0xb6,0xad,0x6b,0xda,0x3b,0x46,0xef,0x04,0x9a,0x63,0x6c,0xdb,0x7f,0xab, 60 0x7b,0x67,0x75,0xfd,0x01,0xe4,0x9e,0xfb,0xe2,0x0c,0x08,0x00,0x00 61}; 62 63// Generated from: 64// 65// #version 450 core 66// 67// #extension GL_EXT_samplerless_texture_functions : require 68// 69// #extension GL_KHR_shader_subgroup_arithmetic : require 70// 71// layout(local_size_x = 32, local_size_y = 1, local_size_z = 1)in; 72// 73// layout(set = 0, binding = 0, rgba32ui)uniform writeonly uimage2D culledWidgetsOut; 74// 75// layout(set = 0, binding = 1)uniform WidgetCoordinates 76// { 77// uvec4 coordinates[32 + 32]; 78// }; 79// 80// uvec2 cullWidgets(const uint offset, const uvec2 blockCoordLow, const uvec2 blockCoordHigh) 81// { 82// const uint localId = gl_LocalInvocationID . x; 83// const uvec4 widgetCoords = coordinates[offset + localId]; 84// 85// const bool intersects = widgetCoords . x < widgetCoords . z && 86// all(lessThan(widgetCoords . xy, blockCoordHigh))&& 87// all(greaterThanEqual(widgetCoords . zw, blockCoordLow)); 88// 89// return uvec2(subgroupOr(uint(intersects)<< localId), 0); 90// 91// } 92// 93// void main() 94// { 95// 96// const uvec2 outCoord = gl_WorkGroupID . xy; 97// const uvec2 blockCoordLow = outCoord * uvec2(8, 4); 98// const uvec2 blockCoordHigh = blockCoordLow + uvec2(8, 4); 99// 100// uvec2 culledWidgets; 101// 102// culledWidgets . x = cullWidgets(0, blockCoordLow, blockCoordHigh). x; 103// culledWidgets . y = cullWidgets(32, blockCoordLow, blockCoordHigh). x; 104// 105// if(gl_LocalInvocationID . x == 0) 106// { 107// imageStore(culledWidgetsOut, ivec2(outCoord), uvec4(culledWidgets, 0, 0)); 108// } 109// } 110