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/OverlayDraw.comp.00000001.inc: 9// Pre-generated shader for the ANGLE Vulkan back-end. 10 11#pragma once 12constexpr uint8_t kOverlayDraw_comp_00000001[] = { 13 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x75,0x58,0x79,0x8c,0x57,0xd5, 14 0x15,0x7e,0xe7,0xfe,0x86,0x59,0x60,0x2a,0xb4,0x0a,0xad,0x76,0x44,0x61,0xc4,0x42, 15 0xc0,0x61,0x09,0x0c,0x53,0x87,0x6d,0xd8,0x06,0x2c,0x91,0xbd,0x49,0x9d,0xb4,0x20, 16 0x63,0x5b,0x95,0x40,0x21,0x2c,0x16,0xc2,0x36,0x80,0x16,0xa5,0x50,0x4d,0x2b,0x30, 17 0x20,0x20,0x91,0x46,0xaa,0xa4,0x22,0x7f,0x35,0x6d,0x93,0xb6,0xd0,0x74,0x61,0xb1, 18 0x10,0x2b,0x8b,0xa5,0xb6,0x6c,0xb5,0xa0,0x52,0x84,0x5a,0x65,0xef,0xfd,0xde,0xf9, 19 0x0e,0xbf,0x33,0x2f,0xc3,0x2f,0xb9,0x79,0xef,0x7e,0x67,0xfb,0xee,0xbd,0xe7,0xde, 20 0x7b,0x7e,0x2f,0x17,0xca,0x8b,0x92,0x44,0x92,0x96,0x49,0x71,0x72,0x7b,0x2e,0x49, 21 0x7f,0x9f,0x4f,0x42,0x44,0x92,0xa4,0x55,0x52,0x98,0x3e,0x6b,0x47,0x8d,0x1f,0x55, 22 0x31,0x6b,0xf6,0x63,0x15,0xbd,0xfb,0xf4,0x80,0xfc,0xb6,0x44,0x15,0x21,0x6b,0x9d, 23 0x14,0x25,0x2d,0xe2,0xb3,0x20,0xb6,0x69,0x8f,0x3e,0x31,0x1d,0xf8,0x91,0xd8,0xce, 24 0xc7,0xd6,0x26,0xda,0x17,0xa4,0xfe,0x92,0xe8,0x5d,0x5b,0xea,0x2f,0xa2,0x83,0xe2, 25 0xb3,0x30,0xd5,0x49,0x92,0x11,0xd1,0x43,0x8d,0x86,0x4e,0xca,0xf9,0x34,0x4c,0x88, 26 0x79,0xbd,0x40,0xec,0x5e,0x87,0xe5,0x88,0xf5,0xa0,0xff,0x21,0xf4,0xdf,0x43,0x54, 27 0x67,0x68,0xc6,0x7f,0x6d,0xb4,0x18,0x4a,0x5f,0xd0,0x1f,0x1e,0x9f,0x1d,0x6f,0xca, 28 0xb4,0xdf,0xc1,0xf1,0x5d,0x96,0x91,0x2f,0xa3,0xbc,0x80,0xfd,0x75,0x99,0xf1,0x34, 29 0x36,0x33,0x9e,0xc6,0x66,0xc6,0xd3,0xd8,0xcc,0x78,0x1a,0x9b,0x19,0xcf,0x7a,0x1b, 30 0x4f,0x81,0xea,0x6c,0x68,0x66,0x3c,0x1b,0xdc,0x78,0x36,0x66,0xf8,0x6e,0x24,0x5f, 31 0x93,0x1f,0x49,0xd7,0x37,0x49,0xca,0x18,0xf3,0x58,0x33,0x7c,0x8f,0x39,0xbe,0xc5, 32 0x8c,0x71,0xcc,0xf9,0x38,0x97,0x89,0x71,0x8e,0x31,0x72,0xec,0x9f,0x67,0x8c,0xbb, 33 0xd8,0x7f,0x5f,0x9a,0xea,0xa3,0xdf,0xc1,0xf5,0xaf,0x88,0xea,0xdf,0x19,0xdb,0xed, 34 0x31,0x4a,0x48,0xfd,0xe5,0x52,0x7f,0x78,0x6f,0x1b,0x75,0x0a,0x39,0x4f,0xf8,0x7d, 35 0x31,0xf6,0x8b,0x38,0x2f,0x81,0xfd,0x62,0xf6,0xb1,0x2e,0x77,0x44,0xb4,0x24,0x3e, 36 0xdb,0x45,0x0f,0x6d,0x69,0x07,0x9d,0x8e,0xa9,0x2f,0xd5,0x41,0xbf,0x4b,0x7c,0x96, 37 0xd0,0x47,0x57,0xc6,0xa8,0x64,0x0c,0xeb,0x57,0x53,0xdf,0xfa,0x03,0xb9,0x86,0x65, 38 0xcc,0xe5,0x62,0x62,0xed,0xa3,0xb4,0x86,0xfd,0x8e,0x7c,0x0e,0x72,0x76,0x83,0xc9, 39 0xa3,0x8c,0x39,0x5a,0x43,0xac,0x3d,0xf3,0x71,0x48,0x2a,0x2f,0x48,0x86,0x91,0xcf, 40 0xd0,0x34,0xb6,0xf6,0x87,0xbb,0x79,0xa8,0xa5,0x1f,0xa1,0xef,0xda,0x74,0xcd,0xf2, 41 0x9c,0xd1,0x1f,0xc9,0xb5,0x80,0xbf,0x51,0xb4,0x2d,0x76,0x5c,0xea,0x9c,0x3d,0xfa, 42 0xf5,0x99,0x39,0x98,0x91,0xd1,0x9f,0x13,0xdb,0x8d,0x74,0x7d,0x4a,0x92,0x06,0xce, 43 0xa1,0x30,0x66,0xf6,0x89,0x98,0x4b,0xf9,0xde,0xc0,0x31,0xa0,0xbf,0xcc,0xad,0xdd, 44 0x8a,0x74,0xdd,0xf3,0x6b,0xb7,0x92,0xfd,0x9c,0x8b,0xb9,0x96,0xf3,0x57,0xc6,0x3d, 45 0x56,0x4c,0x0c,0xf3,0xdc,0x98,0x99,0xe7,0x75,0xd4,0xc3,0x5e,0x69,0x74,0xf3,0x8a, 46 0x7d,0xb1,0x9e,0x9c,0x5e,0x62,0xbc,0x0d,0xe4,0x84,0xfe,0x46,0xc7,0xe1,0x77,0x1c, 47 0x97,0x71,0xc0,0xfb,0xee,0x94,0xf1,0x92,0x81,0x90,0x1f,0x62,0x7e,0xd9,0xbc,0x1e, 48 0xe6,0x98,0x0f,0xd1,0xdf,0x61,0x9e,0x7f,0x92,0xc6,0x2e,0x48,0xf7,0x8b,0xe5,0x28, 49 0xf4,0xff,0xce,0x5c,0x3b,0x46,0x7d,0xf4,0xdf,0x23,0x06,0xf9,0x3f,0xf8,0x5e,0xe4, 50 0xe2,0x9f,0xe1,0x9c,0x75,0x8b,0x28,0xc6,0x7a,0x96,0x98,0xb5,0xdd,0x5c,0x93,0x0f, 51 0x19,0xc7,0xd6,0x20,0x69,0x66,0x4d,0x3e,0xe2,0xfb,0x87,0x8c,0x8f,0xfe,0x39,0x62, 52 0xc6,0xff,0x7c,0x26,0xaf,0x8a,0x44,0xfb,0x16,0xbf,0x9f,0x34,0x8d,0x7f,0xc6,0xe9, 53 0x0e,0x13,0x9d,0x4b,0xc4,0x1a,0xce,0x77,0x1b,0xfb,0xf7,0xd9,0xef,0xe8,0xd6,0xf7, 54 0x8d,0x88,0x4d,0x76,0x63,0xfd,0x55,0xec,0xef,0xdf,0xb7,0x6f,0x80,0xc5,0xfa,0x75, 55 0x26,0x16,0xe4,0xf0,0xb5,0x4f,0x74,0x9e,0x0a,0x39,0xf6,0xd3,0xd2,0x34,0x1f,0xed, 56 0x17,0x88,0xc1,0xe6,0x5f,0x14,0x42,0xb7,0x9a,0xfd,0xf7,0xc5,0xe6,0xb6,0x30,0x5d, 57 0x43,0x9c,0x41,0x33,0x98,0xfb,0xd8,0x1f,0x15,0x71,0xa5,0xb1,0x16,0x5f,0xc8,0xe1, 58 0x4c,0x68,0x91,0xfa,0x2b,0xa0,0x6f,0xe4,0xc0,0x67,0x11,0xc1,0xfd,0xf7,0x69,0xec, 59 0x5d,0xa5,0xaf,0x2b,0xf1,0x1d,0xe7,0xc7,0x35,0x51,0x39,0x9e,0xfd,0x99,0x3b,0x47, 60 0x99,0x1f,0xa3,0xa3,0x57,0xf8,0x7d,0x97,0xd8,0x51,0xb7,0x56,0x35,0xd1,0x23,0xf2, 61 0xe0,0x9f,0xcc,0x0d,0xec,0xeb,0xfe,0x3c,0xeb,0x8e,0x13,0xff,0x79,0xd4,0xc1,0xb9, 62 0x75,0x82,0x3e,0x8e,0xa7,0x39,0x5e,0x90,0xce,0xc9,0x49,0xe2,0xe0,0x74,0x9a,0x7e, 63 0x2f,0x47,0x19,0xf0,0x53,0x18,0x3f,0x79,0xe3,0xfd,0x52,0x7c,0x5e,0x25,0xcf,0xd3, 64 0x8c,0x83,0xdc,0xf8,0x0f,0xf3,0xc2,0x78,0x7f,0xcc,0xbc,0x30,0xde,0x17,0x88,0x7d, 65 0xec,0x78,0x2f,0xe0,0x9e,0xbe,0x48,0xf9,0xa4,0xa8,0x89,0x7d,0xf9,0x5f,0xfa,0xbb, 66 0xc8,0xf5,0xc0,0x78,0xc6,0x46,0xfe,0x85,0x29,0x0f,0x95,0x27,0x0e,0xbb,0x42,0x4c, 67 0x8c,0x1f,0xf9,0xe2,0xf9,0x09,0xf3,0xe2,0x60,0xd0,0x7d,0x00,0xce,0x05,0x39,0x3d, 68 0x97,0x20,0x83,0xfd,0xfe,0xa0,0x3e,0x20,0x2b,0x15,0x95,0xbd,0x1e,0x7d,0xa7,0x67, 69 0xbc,0xa8,0x1c,0xeb,0xf3,0xbf,0xc8,0xf7,0x3a,0xcf,0x34,0x9b,0x23,0xc8,0xaf,0xc5, 70 0xf7,0xeb,0x8c,0x89,0xf7,0xd2,0xe8,0x15,0xb9,0xdd,0x82,0xfb,0x60,0x24,0x63,0x2c, 71 0x60,0x0e,0x17,0x8a,0xca,0x7e,0x1f,0x63,0x40,0xaf,0x44,0x74,0xcf,0x00,0x37,0x9d, 72 0x96,0xa2,0xf8,0x1f,0x38,0xc6,0x52,0xf2,0x00,0x5e,0x13,0x79,0xe3,0x7c,0x6e,0x2d, 73 0x7a,0x16,0x8d,0xa0,0x4f,0x5b,0x77,0xcc,0x61,0x1b,0x51,0xb9,0xcd,0x7f,0x71,0x50, 74 0xac,0x8d,0xe4,0xe7,0xdf,0x72,0xa2,0x24,0x68,0x4e,0x40,0x67,0x03,0x73,0xa2,0x65, 75 0x50,0x1c,0x39,0xd1,0x3a,0xe4,0xc7,0x0b,0xbc,0x55,0x6c,0xc0,0x30,0x5e,0xbc,0x5b, 76 0x8c,0x52,0x17,0x23,0x30,0xdf,0x77,0x30,0xc6,0xe7,0x18,0xa3,0xd4,0xc5,0xb8,0x2d, 77 0x28,0x8e,0x35,0x33,0x7f,0x78,0x62,0x5d,0x20,0x6f,0x13,0x94,0xc7,0x35,0xea,0x22, 78 0xd6,0x36,0xda,0xde,0x21,0x2a,0x07,0xbf,0x76,0x92,0xe7,0x07,0xbc,0x6d,0x6c,0xed, 79 0x98,0xa3,0x78,0x87,0xff,0x1b,0x5c,0x1f,0xe0,0x96,0x37,0x77,0x4a,0x7e,0x1f,0x19, 80 0xf6,0x65,0x37,0x47,0xaf,0x31,0x07,0xca,0x44,0x75,0x21,0xb3,0xf8,0x77,0x8b,0xe2, 81 0x88,0x7f,0x8f,0x8b,0x0f,0xbc,0x7d,0x6c,0xf7,0x30,0x7e,0x7b,0x17,0xaf,0x03,0xe3, 82 0x89,0x8b,0x57,0xce,0x78,0xe2,0xe2,0xdd,0x27,0xaa,0x5b,0x4e,0xee,0xe6,0x0b,0x4f, 83 0x9b,0x9b,0x4e,0x8c,0x8f,0xf1,0xdc,0xc7,0x98,0xc6,0xed,0x7e,0x51,0x39,0xb8,0x75, 84 0x76,0xdc,0x80,0x7f,0x25,0xb6,0xce,0xf4,0x87,0xf7,0x25,0xe4,0xd1,0x95,0x63,0xac, 85 0x73,0xdc,0x1e,0x70,0x6b,0x69,0xdc,0x2a,0x44,0x75,0x1f,0x20,0x37,0xf3,0xd5,0xd9, 86 0x71,0xeb,0xce,0xf8,0xe0,0x5b,0xc1,0x98,0xc6,0x0d,0xf5,0x75,0x77,0x72,0xeb,0xe5, 87 0xb8,0x01,0xef,0x19,0x5b,0x2f,0xfa,0xeb,0xe9,0xe6,0xad,0xb7,0x9b,0x37,0xe3,0xdb, 88 0x47,0x14,0xf7,0x7c,0xfb,0x92,0x6f,0xce,0xf1,0xad,0x12,0xd5,0xed,0x4b,0xbe,0xe6, 89 0xbf,0x97,0xe3,0xfb,0x55,0x72,0xc2,0x18,0xaa,0xc8,0x03,0xfc,0xaa,0x1d,0x3f,0xe8, 90 0x3c,0x88,0x7b,0x80,0xf6,0x0f,0x66,0xf2,0x0a,0xf8,0xd2,0x18,0x13,0xfb,0x60,0xb0, 91 0xe4,0xf7,0x53,0x4d,0xdc,0x8d,0xb8,0xd7,0x6a,0x33,0x7b,0x15,0xf7,0x5e,0x25,0xf7, 92 0x2b,0xb8,0x8f,0xa0,0x0e,0xe2,0x56,0x85,0xa6,0xf7,0xc2,0x97,0xb8,0x37,0xf0,0xbc, 93 0x99,0xbb,0x41,0xe3,0xe0,0xf7,0x0c,0xb1,0xbb,0x82,0xe2,0xf0,0x65,0x58,0x59,0x50, 94 0xbc,0x3a,0x51,0x2e,0x38,0x37,0xee,0x0e,0x4d,0xb9,0x8c,0xa4,0x9e,0x9d,0x1d,0xed, 95 0x83,0xea,0x3c,0x4b,0x1f,0xf7,0x3a,0x1f,0x36,0xaf,0x1d,0x83,0xe2,0x95,0xbc,0x37, 96 0xfa,0xba,0x33,0x02,0xb2,0xf2,0xd8,0xee,0x27,0x6f,0x3c,0xcd,0xae,0x33,0xed,0xea, 97 0x68,0x57,0xe9,0xec,0x20,0xeb,0x12,0x5b,0x37,0xda,0x75,0x73,0x76,0x15,0xb4,0xab, 98 0xa7,0x5d,0x1f,0x67,0x07,0x59,0xf7,0xd8,0x7a,0xd1,0xae,0x97,0x9b,0xa7,0xde,0x41, 99 0xc7,0x93,0xe3,0xdd,0x50,0x45,0x9d,0xee,0x4e,0xa7,0x27,0x75,0x42,0x46,0x07,0x31, 100 0x6e,0xc4,0xac,0xc3,0x7b,0x17,0xa7,0xdf,0x95,0xfa,0x92,0xd1,0xaf,0x74,0xfa,0xe5, 101 0x4e,0xbf,0x13,0xf5,0x93,0x8c,0x7e,0x5f,0xa7,0x5f,0x95,0x9e,0x7b,0xad,0x52,0xfd, 102 0x53,0x41,0x79,0x63,0x1c,0x3d,0x39,0xb6,0xae,0x9c,0x9b,0x4e,0x9c,0x5b,0xf3,0x3d, 103 0xd6,0xe5,0xbc,0x61,0xe3,0xdd,0x99,0xb2,0x94,0xd8,0x04,0x51,0x5d,0xc8,0xb6,0x73, 104 0x4e,0xbf,0x21,0x1a,0x6b,0x02,0xf3,0xae,0xce,0xe5,0x3b,0x64,0x8f,0x60,0x7f,0x31, 105 0xdf,0x1f,0x71,0xfb,0xf1,0x9b,0xa2,0xb9,0xe7,0xf7,0xe3,0xb7,0x44,0xf1,0x6a,0xde, 106 0x2b,0xf0,0x3f,0x59,0x14,0x9f,0xc0,0xbd,0x62,0xbe,0xea,0xdc,0xde,0x7b,0x54,0x94, 107 0x07,0xc6,0x3f,0x99,0x31,0xc1,0xa5,0xde,0x71,0x81,0xce,0x94,0xd8,0xea,0x69,0x3f, 108 0xc5,0x71,0xf9,0xae,0xe3,0x62,0x77,0xe5,0xe3,0xa2,0xfb,0x00,0xb2,0x3f,0x12,0x7b, 109 0x42,0x14,0xaf,0x73,0x39,0xfc,0xa4,0x28,0x5e,0xc9,0x75,0x31,0xff,0xf5,0x8e,0xdf, 110 0x54,0x51,0x8e,0xe0,0xfc,0x24,0x79,0x58,0xec,0xe9,0x2e,0xb6,0xcd,0xf3,0xf7,0x38, 111 0x5e,0xc8,0x76,0x30,0xce,0x4c,0x51,0xfc,0x94,0xbb,0xbf,0x66,0x89,0xfa,0x7e,0x95, 112 0x3a,0xb3,0x45,0xf5,0x66,0x71,0xfc,0x73,0xdd,0xf8,0x21,0x9b,0x13,0xdb,0x5c,0xf2, 113 0x9b,0xc3,0x1a,0x00,0xf5,0xf1,0xbc,0xcc,0xb9,0x52,0xc4,0xda,0x11,0x35,0xcf,0x7c, 114 0xca,0x47,0xc7,0x5d,0x8d,0xff,0x29,0xfd,0x82,0xd6,0x41,0x07,0x43,0xbe,0x06,0x08, 115 0xcc,0x1b,0xd4,0xc2,0xfd,0x83,0xda,0xe4,0xd2,0xff,0x5d,0x8a,0x0d,0x08,0xfa,0x7f, 116 0x01,0xb2,0xd5,0x11,0x83,0x9f,0x81,0x41,0x7d,0x0d,0x08,0x79,0xdf,0x83,0x68,0x3b, 117 0x5f,0x9a,0xfa,0x36,0x9b,0xc1,0x41,0x75,0xe0,0xa7,0x81,0xd8,0x90,0xa0,0xbe,0x06, 118 0x87,0x3c,0x87,0xa1,0xe4,0x07,0x0e,0x4f,0x13,0xab,0x0d,0x8a,0x0f,0x70,0x7a,0x23, 119 0x82,0xda,0x27,0x8e,0xff,0x48,0x62,0xe2,0xb0,0x87,0x88,0x41,0x75,0x0c,0x6b,0xc1, 120 0xaf,0x05,0xb5,0x87,0x3e,0xe4,0xb5,0xac,0x41,0x6c,0x7e,0xe7,0x4a,0xbe,0x6e,0x6c, 121 0x91,0x53,0x3e,0xc8,0x09,0xd8,0xcd,0xc9,0x9c,0xfb,0x5a,0x47,0x96,0xa4,0xba,0x05, 122 0xd4,0x45,0xcd,0xd1,0x8f,0xf7,0x05,0xec,0xe7,0x4a,0xd3,0xba,0xf4,0x3a,0xf3,0x6d, 123 0x11,0xe3,0x2d,0x72,0xf1,0x0e,0x70,0xfc,0xd0,0x29,0x8c,0xb6,0x0d,0x92,0xaf,0x53, 124 0xdf,0x0a,0x5a,0xff,0x42,0xb6,0x4a,0x54,0x66,0x75,0xea,0x72,0x51,0xb9,0xd5,0xa9, 125 0x4b,0x28,0xb7,0x1c,0x82,0x7c,0x31,0xee,0x7b,0xc6,0xc4,0xbb,0xd5,0xa9,0x3f,0x70, 126 0x75,0xea,0x5b,0xae,0x4e,0x5d,0x21,0x2a,0xb3,0x3a,0xf5,0x39,0xe6,0xd7,0x0a,0x57, 127 0xa7,0xae,0x14,0xc5,0x6d,0xef,0xad,0x22,0x8f,0x95,0xae,0x4e,0x7d,0x5e,0xf4,0x5b, 128 0xc4,0x08,0xfa,0xf4,0x75,0xea,0x0b,0xa2,0x72,0xab,0x21,0x1f,0x0e,0x8a,0xbd,0xd0, 129 0x4c,0x9d,0x3a,0x9a,0x35,0xe4,0xc3,0xae,0x86,0x1c,0x13,0x14,0xc7,0x9e,0x99,0xe8, 130 0xee,0x04,0xe0,0x63,0x63,0x9b,0xc8,0xb3,0x76,0xac,0xab,0x53,0xc7,0xb9,0x18,0xd9, 131 0x3a,0x75,0x3c,0x63,0x8c,0x73,0x31,0x26,0x04,0xc5,0xb1,0x66,0xe6,0x6f,0xa2,0xab, 132 0x53,0xbf,0x1e,0x94,0x07,0xe6,0x74,0x02,0xe3,0xda,0x3e,0x7f,0x51,0x54,0x0e,0x7e, 133 0x6b,0xdd,0x7a,0x00,0x5f,0x13,0xdb,0x5a,0xae,0xc7,0x1a,0xe6,0x48,0x03,0xfb,0x6b, 134 0x5d,0x3d,0xb1,0x51,0xf2,0xe3,0xb6,0x39,0x7d,0x39,0x33,0xa7,0xc3,0x24,0x3f,0xa7, 135 0x5b,0x44,0xe5,0x36,0xde,0xad,0xa2,0xd8,0x16,0x37,0xa7,0x76,0x86,0xbd,0x4a,0x3c, 136 0x38,0x6c,0xbb,0xd3,0x35,0x6c,0x52,0x50,0x1e,0xbe,0xde,0x98,0x1c,0x14,0xdf,0xee, 137 0xea,0x8d,0x29,0x41,0xf1,0x6a,0xa7,0xf7,0x58,0x50,0xdc,0xd7,0x20,0xdf,0x0e,0x4d, 138 0xf9,0x8f,0xa4,0x9e,0x8d,0xe1,0x3b,0x41,0x75,0xac,0x06,0x79,0xdc,0xf9,0xb8,0x79, 139 0x7e,0x07,0xc5,0xad,0x06,0x59,0xec,0xd6,0x1f,0xb2,0xa9,0xb1,0x4d,0xe7,0x7a,0x4d, 140 0x77,0xb5,0xc4,0x0c,0xda,0x59,0x0d,0xb2,0xc8,0xd9,0x41,0x36,0x33,0xb6,0xd9,0xb4, 141 0x9b,0xed,0xec,0xe6,0xd2,0xce,0x6a,0x90,0x85,0xce,0x0e,0xb2,0xa7,0x70,0x06,0xd2, 142 0x6e,0xbe,0xbb,0xa3,0x17,0x04,0x1d,0x8f,0xd5,0x20,0x0b,0xa9,0xf3,0x94,0xd3,0x99, 143 0x47,0x9d,0x90,0xd1,0x59,0x18,0xf2,0xfb,0xff,0x6f,0x41,0x7d,0xc1,0xf7,0x3c,0xc6, 144 0x4b,0xcf,0x11,0xea,0xce,0x74,0xfe,0x66,0xd1,0x9f,0xd5,0x28,0xa6,0xb3,0xc8,0xf9, 145 0x7b,0x37,0xa8,0x4f,0xc4,0x98,0xc5,0x71,0x43,0x77,0x31,0x75,0xa7,0x3a,0x7f,0xd3, 146 0xe8,0xcf,0x6a,0x18,0xd3,0x59,0xec,0xfc,0x1d,0x0d,0xea,0x13,0x31,0xa6,0x71,0xfe, 147 0x6d,0xfd,0x1a,0x5c,0x5e,0x2c,0x27,0xb6,0x34,0x28,0x8e,0x6f,0x27,0xbb,0x88,0x3d, 148 0x1d,0xd4,0x0f,0x64,0x76,0x77,0x3f,0x13,0x14,0x9f,0x93,0xe4,0xef,0xd4,0x1d,0xa2, 149 0xf8,0x1b,0xbc,0x2f,0x77,0xba,0xbd,0x05,0xd9,0x9b,0xb1,0xed,0xe4,0x5e,0xc2,0xfb, 150 0xb3,0xdc,0x4b,0x2b,0x99,0xc7,0x5b,0x25,0xcf,0xed,0x87,0x41,0x7d,0x0d,0x76,0x39, 151 0xbb,0xca,0x61,0x63,0x68,0xbb,0x3a,0xa8,0x2e,0x64,0xcb,0x89,0xfd,0x28,0xa8,0xaf, 152 0xd5,0xcc,0x5d,0x7c,0xbb,0x7c,0x3e,0xe8,0x77,0xcb,0x25,0xd4,0xf9,0x71,0x50,0xbd, 153 0x95,0x21,0xff,0xcd,0xe3,0x27,0x41,0xf1,0x05,0xfc,0x0e,0xf6,0x62,0xd0,0xbd,0x38, 154 0x96,0x67,0xed,0x9a,0xa0,0x3a,0xb6,0x07,0x81,0xad,0x25,0x26,0x29,0xa7,0xc2,0xf4, 155 0xfb,0xe7,0xba,0xa0,0xba,0x90,0xc1,0xc7,0x24,0xde,0x23,0x8d,0x41,0x79,0xac,0x0b, 156 0x4d,0xbf,0xa1,0xe0,0x4e,0x5c,0x1f,0x54,0x9e,0x24,0xf9,0x3a,0xe2,0x37,0x99,0xf3, 157 0xc4,0xd7,0x11,0xbf,0xa5,0xdc,0xee,0xcf,0x5d,0xa2,0x3e,0x7c,0x2b,0x8d,0xbb,0x16, 158 0xb2,0xdd,0xbc,0x4b,0x2a,0xf8,0x2d,0x0e,0xb6,0xbb,0x5c,0x0d,0xb2,0x31,0xe8,0x1d, 159 0x77,0xe0,0x16,0x35,0xc8,0xa6,0xa0,0x3e,0x7c,0x0d,0xb2,0x99,0x35,0xc8,0x26,0x57, 160 0x83,0xbc,0x1c,0xd4,0xd7,0x66,0x57,0x83,0x6c,0xa1,0xed,0xee,0x5b,0xd4,0x20,0xaf, 161 0x04,0xd5,0xd9,0xe4,0x6a,0x90,0xad,0x41,0x7d,0xbd,0xe2,0x6a,0x8b,0x9f,0x92,0x9f, 162 0xaf,0x41,0xb6,0x05,0xc5,0x37,0x3b,0xbd,0x9f,0x05,0xb5,0xf7,0x35,0xc8,0x6b,0xc4, 163 0x7c,0x0d,0xf2,0x3a,0x31,0x5f,0x83,0x6c,0x0f,0x6a,0x0f,0x7d,0xc8,0xb7,0x71,0xef, 164 0x59,0xce,0xee,0x74,0x35,0x41,0x51,0x4e,0xf9,0x60,0xaf,0xc1,0xee,0xcd,0xcc,0x5d, 165 0xd1,0xe0,0x74,0x0b,0xa9,0x8b,0xfb,0x04,0x76,0x3b,0xa5,0x69,0xad,0xb1,0x44,0xf2, 166 0xbc,0xfe,0x24,0xf9,0x71,0xfe,0x82,0xfb,0xea,0xcf,0xa2,0xf8,0x6e,0x9e,0x71,0x7b, 167 0xdd,0xbe,0x82,0x6c,0x4f,0x6c,0x7b,0xe9,0x6b,0x8f,0xe8,0xb7,0x47,0x7c,0x5b,0xdd, 168 0x2f,0xfa,0xed,0xd1,0xf2,0x26,0xad,0x57,0x88,0x5b,0x8d,0xf2,0x17,0x51,0xcc,0xce, 169 0xeb,0x83,0xce,0x37,0x64,0x07,0x62,0x3b,0x48,0xdf,0x07,0xdc,0xfd,0xf5,0x36,0xff, 170 0xff,0xe3,0x9b,0xaa,0x7d,0xaf,0xad,0x89,0x11,0x10,0xf7,0xaf,0x92,0xff,0xe6,0x59, 171 0xe7,0xfe,0x4f,0xbf,0x43,0x99,0xd5,0xe5,0x87,0x44,0x31,0xff,0xbd,0xe0,0x88,0xfb, 172 0xae,0x60,0x7a,0x47,0x45,0x75,0x21,0x1b,0x17,0x11,0xc4,0xdf,0x13,0x14,0x7f,0x5b, 173 0xf2,0xe7,0x9f,0xf1,0x3c,0xc8,0xb9,0x87,0xde,0x3b,0xac,0x1d,0x30,0x2f,0xb0,0x39, 174 0xe0,0xf2,0xfe,0x3d,0x69,0x3e,0xef,0x7f,0xc9,0xb9,0x39,0xce,0x79,0x3f,0xc3,0xb9, 175 0x39,0xe9,0xe6,0x06,0xb2,0x13,0xb1,0x9d,0x64,0xcc,0x13,0x9c,0x63,0x7c,0x97,0xfe, 176 0x37,0xbf,0x49,0xdb,0xb9,0x72,0x56,0x94,0xc7,0x94,0xe8,0x17,0xf9,0xf0,0x01,0x75, 177 0xce,0x3a,0x2e,0x1f,0x89,0xe2,0x1f,0xdc,0x62,0x9f,0x9c,0x17,0xd5,0x01,0x1f,0xdb, 178 0x27,0x17,0x44,0xc7,0x70,0x9e,0xf9,0x64,0x5c,0x4e,0x72,0xfc,0xd0,0x39,0x1c,0x54, 179 0x07,0x73,0x72,0x81,0x9c,0x8d,0xe7,0xc5,0x0c,0xcf,0x4f,0xc8,0xd3,0x72,0xf1,0x53, 180 0x51,0x7b,0xbf,0x97,0x3e,0x23,0xe6,0xf7,0xd2,0x25,0x62,0x7e,0x2f,0x5d,0x16,0xb5, 181 0x87,0xfe,0x25,0xe6,0x6e,0x7d,0x8c,0x83,0x98,0x88,0x73,0x99,0x9c,0x2d,0x6f,0xf7, 182 0x4a,0xd3,0xef,0xd8,0x57,0xd3,0x6f,0xb8,0x92,0x54,0xc5,0xf6,0x7f,0xe4,0xca,0xf4, 183 0x21,0xe0,0x1e,0x00,0x00 184}; 185 186// Generated from: 187// 188// #version 450 core 189// 190// #extension GL_EXT_samplerless_texture_functions : require 191// 192// layout(local_size_x = 8, local_size_y = 8, local_size_z = 1)in; 193// 194// struct TextWidgetData 195// { 196// uvec4 coordinates; 197// vec4 color; 198// uvec4 fontSize; 199// uvec4 text[256 / 16]; 200// }; 201// 202// struct GraphWidgetData 203// { 204// uvec4 coordinates; 205// vec4 color; 206// uvec4 valueWidth; 207// uvec4 values[256 / 4]; 208// }; 209// 210// layout(set = 0, binding = 0, rgba32f)uniform image2D blendOutput; 211// 212// layout(set = 0, binding = 1)uniform TextWidgets 213// { 214// TextWidgetData textWidgetsData[32]; 215// }; 216// 217// layout(set = 0, binding = 2)uniform GraphWidgets 218// { 219// GraphWidgetData graphWidgetsData[32]; 220// }; 221// 222// layout(set = 0, binding = 3)uniform utexture2D culledWidgets; 223// layout(set = 0, binding = 4)uniform texture2DArray font; 224// 225// layout(push_constant)uniform PushConstants 226// { 227// uvec2 outputSize; 228// 229// bool rotateXY; 230// } params; 231// 232// bool intersects(const uvec2 imageCoords, const uvec4 widgetCoords) 233// { 234// return all(greaterThanEqual(imageCoords, widgetCoords . xy))&& 235// all(lessThan(imageCoords, widgetCoords . zw)); 236// } 237// 238// uint getChar(const uint textWidget, const uvec2 coordInWidget, const uint fontGlyphWidth) 239// { 240// const uint charIndex = coordInWidget . x / fontGlyphWidth; 241// const uint packIndex = charIndex / 4; 242// const uvec4 arrayItem = textWidgetsData[textWidget]. text[packIndex / 4]; 243// const uint col = packIndex % 4; 244// 245// uint packedChars; 246// if(col == 0) 247// { 248// packedChars = arrayItem[0]; 249// } 250// else if(col == 1) 251// { 252// packedChars = arrayItem[1]; 253// } 254// else if(col == 2) 255// { 256// packedChars = arrayItem[2]; 257// } 258// else 259// { 260// packedChars = arrayItem[3]; 261// } 262// 263// const uint shift =(charIndex % 4)* 8; 264// 265// return(packedChars >> shift)& 0xFF; 266// 267// } 268// 269// float sampleFont(const uint textChar, 270// const uvec2 coordInWidget, 271// const uvec2 fontGlyphSize, 272// const uint fontLayer) 273// { 274// const uvec2 coordInGlyph = coordInWidget % fontGlyphSize; 275// const uvec2 glyphOffset = fontGlyphSize * 276// uvec2(textChar % 32, textChar / 32); 277// 278// return texelFetch(font, ivec3(glyphOffset + coordInGlyph, fontLayer), 0). x; 279// } 280// 281// uint getValue(const uint graphWidget, const uvec2 coordInWidget, const uint valueWidth) 282// { 283// const uint valueIndex = coordInWidget . x / valueWidth . x; 284// const uvec4 arrayItem = graphWidgetsData[graphWidget]. values[valueIndex / 4]; 285// const uint col = valueIndex % 4; 286// 287// if(col == 0) 288// { 289// return arrayItem[0]; 290// } 291// else if(col == 1) 292// { 293// return arrayItem[1]; 294// } 295// else if(col == 2) 296// { 297// return arrayItem[2]; 298// } 299// else 300// { 301// return arrayItem[3]; 302// } 303// } 304// 305// vec4 blend(const vec4 blendedSoFar, const vec4 color) 306// { 307// 308// return vec4(blendedSoFar . rgb *(1 - color . a)+ color . rgb * color . a, 309// blendedSoFar . a *(1 - color . a)); 310// } 311// 312// void main() 313// { 314// uvec2 imageCoords = gl_GlobalInvocationID . xy; 315// if(any(greaterThanEqual(imageCoords, params . outputSize))) 316// { 317// return; 318// } 319// 320// vec4 blendedWidgets = vec4(0, 0, 0, 1); 321// 322// const uvec2 subgroupWidgets = texelFetch(culledWidgets, ivec2(gl_WorkGroupID . xy), 0). xy; 323// uint textWidgets = subgroupWidgets . x; 324// uint graphWidgets = subgroupWidgets . y; 325// 326// while(graphWidgets != 0) 327// { 328// const uint graphWidget = findLSB(graphWidgets); 329// graphWidgets ^= 1 << graphWidget; 330// 331// const uvec4 widgetCoords = graphWidgetsData[graphWidget]. coordinates; 332// if(! intersects(imageCoords, widgetCoords)) 333// { 334// continue; 335// } 336// 337// if(imageCoords . x == widgetCoords . x || imageCoords . y == widgetCoords . y || 338// imageCoords . x + 1 == widgetCoords . z || imageCoords . y + 1 == widgetCoords . w) 339// { 340// 341// blendedWidgets = vec4(0); 342// continue; 343// } 344// 345// const uvec2 coordInWidget = imageCoords - widgetCoords . xy; 346// const uint valueWidth = graphWidgetsData[graphWidget]. valueWidth . x; 347// 348// const uint value = getValue(graphWidget, coordInWidget, valueWidth); 349// 350// vec4 color = vec4(0); 351// const uint widgetHeight = widgetCoords . w - widgetCoords . y; 352// 353// bool indicateOverflow = value > widgetHeight && coordInWidget . y + 4 >= widgetHeight 354// &&((coordInWidget . x ^ coordInWidget . y)& 1)== 0; 355// 356// if((widgetHeight - coordInWidget . y)< value && ! indicateOverflow) 357// { 358// color = graphWidgetsData[graphWidget]. color; 359// blendedWidgets = blend(blendedWidgets, color); 360// } 361// } 362// 363// while(textWidgets != 0) 364// { 365// const uint textWidget = findLSB(textWidgets); 366// textWidgets ^= 1 << textWidget; 367// 368// const uvec4 widgetCoords = textWidgetsData[textWidget]. coordinates; 369// if(! intersects(imageCoords, widgetCoords)) 370// { 371// continue; 372// } 373// 374// const uvec2 coordInWidget = imageCoords - widgetCoords . xy; 375// const uvec4 fontSizePacked = textWidgetsData[textWidget]. fontSize; 376// const uvec2 fontGlyphSize = fontSizePacked . xy; 377// const uint fontLayer = fontSizePacked . z; 378// 379// const uint textChar = getChar(textWidget, coordInWidget, fontGlyphSize . x); 380// 381// if(textChar <(32 * 3)) 382// { 383// 384// const float sampleValue = sampleFont(textChar, coordInWidget, fontGlyphSize, fontLayer); 385// 386// vec4 color = vec4(0, 0, 0, 0.4); 387// color = mix(color, textWidgetsData[textWidget]. color, sampleValue); 388// 389// blendedWidgets = blend(blendedWidgets, color); 390// } 391// } 392// 393// if(blendedWidgets . a < 1) 394// { 395// 396// if(params . rotateXY) 397// { 398// 399// imageCoords . xy = imageCoords . yx; 400// imageCoords . x = params . outputSize . y - 1 - imageCoords . x; 401// } 402// 403// vec3 blendedColor = blendedWidgets . rgb; 404// if(blendedWidgets . a > 0) 405// { 406// const vec4 color = imageLoad(blendOutput, ivec2(imageCoords)); 407// 408// blendedColor += color . rgb * blendedWidgets . a; 409// } 410// 411// imageStore(blendOutput, ivec2(imageCoords), vec4(blendedColor, 1)); 412// } 413// } 414