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.00000000.inc: 9// Pre-generated shader for the ANGLE Vulkan back-end. 10 11#pragma once 12constexpr uint8_t kOverlayDraw_comp_00000000[] = { 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,0x75,0x52,0x7f,0xf1,0x6d,0x50, 25 0x7c,0x16,0xa6,0x3a,0x49,0x32,0x22,0x7a,0xa8,0xd1,0xd0,0x49,0x39,0x9f,0x86,0x09, 26 0x31,0xaf,0x17,0x88,0xdd,0xeb,0xb0,0x1c,0xb1,0x1e,0xf4,0x3f,0x84,0xfe,0x7b,0x88, 27 0xea,0x0c,0xcd,0xf8,0xaf,0x8d,0x16,0x43,0xe9,0x0b,0xfa,0xc3,0xe3,0xb3,0xe3,0x4d, 28 0x99,0xf6,0x3b,0x38,0xbe,0xcb,0x32,0xf2,0x65,0x94,0x17,0xb0,0xbf,0x2e,0x33,0x9e, 29 0xc6,0x66,0xc6,0xd3,0xd8,0xcc,0x78,0x1a,0x9b,0x19,0x4f,0x63,0x33,0xe3,0x59,0x6f, 30 0xe3,0x29,0x50,0x9d,0x0d,0xcd,0x8c,0x67,0x83,0x1b,0xcf,0xc6,0x0c,0xdf,0x8d,0xe4, 31 0x6b,0xf2,0x23,0xe9,0xfa,0x26,0x49,0x19,0x63,0x1e,0x6b,0x86,0xef,0x31,0xc7,0xb7, 32 0x98,0x31,0x8e,0x39,0x1f,0xe7,0x32,0x31,0xce,0x31,0x46,0x8e,0xfd,0xf3,0x8c,0x71, 33 0x17,0xfb,0xef,0x4b,0x53,0x7d,0xf4,0x3b,0xb8,0xfe,0x15,0x51,0xfd,0x3b,0x63,0xbb, 34 0x3d,0x46,0x09,0xa9,0xbf,0x5c,0xea,0x0f,0xef,0x6d,0xa3,0x4e,0x21,0xe7,0x09,0xbf, 35 0x2f,0xc6,0x7e,0x11,0xe7,0x25,0xb0,0x5f,0xcc,0x3e,0xd6,0xe5,0x8e,0x88,0x96,0xc4, 36 0x67,0xbb,0xe8,0xa1,0x2d,0xed,0xa0,0xd3,0x31,0xf5,0xa5,0x3a,0xe8,0x77,0x89,0xcf, 37 0x12,0xfa,0xe8,0xca,0x18,0x95,0x8c,0x61,0xfd,0x6a,0xea,0x5b,0x7f,0x20,0xd7,0xb0, 38 0x8c,0xb9,0x5c,0x4c,0xac,0x7d,0x94,0xd6,0xb0,0xdf,0x91,0xcf,0x41,0xce,0x6e,0x30, 39 0x79,0x94,0x31,0x47,0x6b,0x88,0xb5,0x67,0x3e,0x0e,0x49,0xe5,0x05,0xc9,0x30,0xf2, 40 0x19,0x9a,0xc6,0xd6,0xfe,0x70,0x37,0x0f,0xb5,0xf4,0x23,0xf4,0x5d,0x9b,0xae,0x59, 41 0x9e,0x33,0xfa,0x23,0xb9,0x16,0xf0,0x37,0x8a,0xb6,0xc5,0x8e,0x4b,0x9d,0xb3,0x47, 42 0xbf,0x3e,0x33,0x07,0x33,0x32,0xfa,0x73,0x62,0xbb,0x91,0xae,0x4f,0x49,0xd2,0xc0, 43 0x39,0x14,0xc6,0xcc,0x3e,0x11,0x73,0x29,0xdf,0x1b,0x38,0x06,0xf4,0x97,0xb9,0xb5, 44 0x5b,0x91,0xae,0x7b,0x7e,0xed,0x56,0xb2,0x9f,0x73,0x31,0xd7,0x72,0xfe,0xca,0xb8, 45 0xc7,0x8a,0x89,0x61,0x9e,0x1b,0x33,0xf3,0xbc,0x8e,0x7a,0xd8,0x2b,0x8d,0x6e,0x5e, 46 0xb1,0x2f,0xd6,0x93,0xd3,0x4b,0x8c,0xb7,0x81,0x9c,0xd0,0xdf,0xe8,0x38,0xfc,0x8e, 47 0xe3,0x32,0x0e,0x78,0xdf,0x9d,0x32,0x5e,0x32,0x10,0xf2,0x43,0xcc,0x2f,0x9b,0xd7, 48 0xc3,0x1c,0xf3,0x21,0xfa,0x3b,0xcc,0xf3,0x4f,0xd2,0xd8,0x05,0xe9,0x7e,0xb1,0x1c, 49 0x85,0xfe,0xdf,0x99,0x6b,0xc7,0xa8,0x8f,0xfe,0x7b,0xc4,0x20,0xff,0x07,0xdf,0x8b, 50 0x5c,0xfc,0x33,0x9c,0xb3,0x6e,0x11,0xc5,0x58,0xcf,0x12,0xb3,0xb6,0x9b,0x6b,0xf2, 51 0x21,0xe3,0xd8,0x1a,0x24,0xcd,0xac,0xc9,0x47,0x7c,0xff,0x90,0xf1,0xd1,0x3f,0x47, 52 0xcc,0xf8,0x9f,0xcf,0xe4,0x55,0x91,0x68,0xdf,0xe2,0xf7,0x93,0xa6,0xf1,0xcf,0x38, 53 0xdd,0x61,0xa2,0x73,0x89,0x58,0xc3,0xf9,0x6e,0x63,0xff,0x3e,0xfb,0x1d,0xdd,0xfa, 54 0xbe,0x11,0xb1,0xc9,0x6e,0xac,0xbf,0x8a,0xfd,0xfd,0xfb,0xf6,0x0d,0xb0,0x58,0xbf, 55 0xce,0xc4,0x82,0x1c,0xbe,0xf6,0x89,0xce,0x53,0x21,0xc7,0x7e,0x5a,0x9a,0xe6,0xa3, 56 0xfd,0x02,0x31,0xd8,0xfc,0x8b,0x42,0xe8,0x56,0xb3,0xff,0xbe,0xd8,0xdc,0x16,0xa6, 57 0x6b,0x88,0x33,0x68,0x06,0xf7,0x3b,0xf6,0x47,0x45,0x5c,0x69,0xac,0xc5,0x17,0x72, 58 0x38,0x13,0x5a,0xa4,0xfe,0x0a,0xe8,0x1b,0x39,0xf0,0x59,0x44,0x70,0xff,0x7d,0x1a, 59 0x7b,0x57,0xe9,0xeb,0x4a,0x7c,0xc7,0xf9,0x71,0x4d,0x54,0x8e,0x67,0x7f,0xe6,0xce, 60 0x51,0xe6,0xc7,0xe8,0xe8,0x15,0x7e,0xdf,0x25,0x76,0xd4,0xad,0x55,0x4d,0xf4,0x88, 61 0x3c,0xf8,0x27,0x73,0x03,0xfb,0xba,0x3f,0xcf,0xba,0xe3,0xc4,0x7f,0x1e,0x75,0x70, 62 0x6e,0x9d,0xa0,0x8f,0xe3,0x69,0x8e,0x17,0xa4,0x73,0x72,0x92,0x38,0x38,0x9d,0xa6, 63 0xdf,0xcb,0x51,0x06,0xfc,0x14,0xc6,0x4f,0xde,0x78,0xbf,0x14,0x9f,0x57,0xc9,0xf3, 64 0x34,0xe3,0x20,0x37,0xfe,0xc3,0xbc,0x30,0xde,0x1f,0x33,0x2f,0x8c,0xf7,0x05,0x62, 65 0x1f,0x3b,0xde,0x0b,0xb8,0xa7,0x2f,0x52,0x3e,0x29,0x6a,0x62,0x5f,0xfe,0x97,0xfe, 66 0x2e,0x72,0x3d,0x30,0x9e,0xb1,0x91,0x7f,0x61,0xca,0x43,0xe5,0x89,0xc3,0xae,0x10, 67 0x13,0xe3,0x47,0xbe,0x78,0x7e,0xc2,0xbc,0x38,0x18,0x74,0x1f,0x80,0x73,0x41,0x4e, 68 0xcf,0x25,0xc8,0x60,0xbf,0x3f,0xa8,0x0f,0xc8,0x4a,0x45,0x65,0xaf,0x47,0xdf,0xe9, 69 0x19,0x2f,0x2a,0xc7,0xfa,0xfc,0x2f,0xf2,0xbd,0xce,0x33,0xcd,0xe6,0x08,0xf2,0x6b, 70 0xf1,0xfd,0x3a,0x63,0xe2,0xbd,0x34,0x7a,0x45,0x6e,0xb7,0xe0,0x3e,0x18,0xc9,0x18, 71 0x0b,0x98,0xc3,0x85,0xa2,0xb2,0xdf,0xc7,0x18,0xd0,0x2b,0x11,0xdd,0x33,0xc0,0x4d, 72 0xa7,0xa5,0x28,0xfe,0x07,0x8e,0xb1,0x94,0x3c,0x80,0xd7,0x44,0xde,0x38,0x9f,0x5b, 73 0x8b,0x9e,0x45,0x23,0xe8,0xd3,0xd6,0x1d,0x73,0xd8,0x46,0x54,0x6e,0xf3,0x5f,0x1c, 74 0x14,0x6b,0x23,0xf9,0xf9,0xb7,0x9c,0x28,0x09,0x9a,0x13,0xd0,0xd9,0xc0,0x9c,0x68, 75 0x19,0x14,0x47,0x4e,0xb4,0x0e,0xf9,0xf1,0x02,0x6f,0x15,0x1b,0x30,0x8c,0x17,0xef, 76 0x16,0xa3,0xd4,0xc5,0x08,0xcc,0xf7,0x1d,0x8c,0xf1,0x39,0xc6,0x28,0x75,0x31,0x6e, 77 0x0b,0x8a,0x63,0xcd,0xcc,0x1f,0x9e,0x58,0x17,0xc8,0xdb,0x04,0xe5,0x71,0x8d,0xba, 78 0x88,0xb5,0x8d,0xb6,0x77,0x88,0xca,0xc1,0xaf,0x9d,0xe4,0xf9,0x01,0x6f,0x1b,0x5b, 79 0x3b,0xe6,0x28,0xde,0xe1,0xff,0x06,0xd7,0x07,0xb8,0xe5,0xcd,0x9d,0x92,0xdf,0x47, 80 0x86,0x7d,0xd9,0xcd,0xd1,0x6b,0xcc,0x81,0x32,0x51,0x5d,0xc8,0x2c,0xfe,0xdd,0xa2, 81 0x38,0xe2,0xdf,0xe3,0xe2,0x03,0x6f,0x1f,0xdb,0x3d,0x8c,0xdf,0xde,0xc5,0xeb,0xc0, 82 0x78,0xe2,0xe2,0x95,0x33,0x9e,0xb8,0x78,0xf7,0x89,0xea,0x96,0x93,0xbb,0xf9,0xc2, 83 0xd3,0xe6,0xa6,0x13,0xe3,0x63,0x3c,0xf7,0x31,0xa6,0x71,0xbb,0x5f,0x54,0x0e,0x6e, 84 0x9d,0x1d,0x37,0xe0,0x5f,0x89,0xad,0x33,0xfd,0xe1,0x7d,0x09,0x79,0x74,0xe5,0x18, 85 0xeb,0x1c,0xb7,0x07,0xdc,0x5a,0x1a,0xb7,0x0a,0x51,0xdd,0x07,0xc8,0xcd,0x7c,0x75, 86 0x76,0xdc,0xba,0x33,0x3e,0xf8,0x56,0x30,0xa6,0x71,0x43,0x7d,0xdd,0x9d,0xdc,0x7a, 87 0x39,0x6e,0xc0,0x7b,0xc6,0xd6,0x8b,0xfe,0x7a,0xba,0x79,0xeb,0xed,0xe6,0xcd,0xf8, 88 0xf6,0x11,0xc5,0x3d,0xdf,0xbe,0xe4,0x9b,0x73,0x7c,0xab,0x44,0x75,0xfb,0x92,0xaf, 89 0xf9,0xef,0xe5,0xf8,0x7e,0x95,0x9c,0x30,0x86,0x2a,0xf2,0x00,0xbf,0x6a,0xc7,0x0f, 90 0x3a,0x0f,0xe2,0x1e,0xa0,0xfd,0x83,0x99,0xbc,0x02,0xbe,0x34,0xc6,0xc4,0x3e,0x18, 91 0x2c,0xf9,0xfd,0x54,0x13,0x77,0x23,0xee,0xb5,0xda,0xcc,0x5e,0xc5,0xbd,0x57,0xc9, 92 0xfd,0x0a,0xee,0x23,0xa8,0x83,0xb8,0x55,0xa1,0xe9,0xbd,0xf0,0x25,0xee,0x0d,0x3c, 93 0x6f,0xe6,0x6e,0xd0,0x38,0xf8,0x3d,0x43,0xec,0xae,0xa0,0x38,0x7c,0x19,0x56,0x16, 94 0x14,0xaf,0x4e,0x94,0x0b,0xce,0x8d,0xbb,0x43,0x53,0x2e,0x23,0xa9,0x67,0x67,0x47, 95 0xfb,0xa0,0x3a,0xcf,0xd2,0xc7,0xbd,0xce,0x87,0xcd,0x6b,0xc7,0xa0,0x78,0x25,0xef, 96 0x8d,0xbe,0xee,0x8c,0x80,0xac,0x3c,0xb6,0xfb,0xc9,0x1b,0x4f,0xb3,0xeb,0x4c,0xbb, 97 0x3a,0xda,0x55,0x3a,0x3b,0xc8,0xba,0xc4,0xd6,0x8d,0x76,0xdd,0x9c,0x5d,0x05,0xed, 98 0xea,0x69,0xd7,0xc7,0xd9,0x41,0xd6,0x3d,0xb6,0x5e,0xb4,0xeb,0xe5,0xe6,0xa9,0x77, 99 0xd0,0xf1,0xe4,0x78,0x37,0x54,0x51,0xa7,0xbb,0xd3,0xe9,0x49,0x9d,0x90,0xd1,0x41, 100 0x8c,0x1b,0x31,0xeb,0xf0,0xde,0xc5,0xe9,0x77,0xa5,0xbe,0x64,0xf4,0x2b,0x9d,0x7e, 101 0xb9,0xd3,0xef,0x44,0xfd,0x24,0xa3,0xdf,0xd7,0xe9,0x57,0xa5,0xe7,0x5e,0xab,0x54, 102 0xff,0x54,0x50,0xde,0x18,0x47,0x4f,0x8e,0xad,0x2b,0xe7,0xa6,0x13,0xe7,0xd6,0x7c, 103 0x8f,0x75,0x39,0x6f,0xd8,0x78,0x77,0xa6,0x2c,0x25,0x36,0x41,0x54,0x17,0xb2,0xed, 104 0x9c,0xd3,0x6f,0x88,0xc6,0x9a,0xc0,0xbc,0xab,0x73,0xf9,0x0e,0xd9,0x23,0xd8,0x5f, 105 0xcc,0xf7,0x47,0xdc,0x7e,0xfc,0xa6,0x68,0xee,0xf9,0xfd,0xf8,0x2d,0x51,0xbc,0x9a, 106 0xf7,0x0a,0xfc,0x4f,0x16,0xc5,0x27,0x70,0xaf,0x98,0xaf,0x3a,0xb7,0xf7,0x1e,0x15, 107 0xe5,0x81,0xf1,0x4f,0x66,0x4c,0x70,0xa9,0x77,0x5c,0xa0,0x33,0x25,0xb6,0x7a,0xda, 108 0x4f,0x71,0x5c,0xbe,0xeb,0xb8,0xd8,0x5d,0xf9,0xb8,0xe8,0x3e,0x80,0xec,0x8f,0xc4, 109 0x9e,0x10,0xc5,0xeb,0x5c,0x0e,0x3f,0x29,0x8a,0x57,0x72,0x5d,0xcc,0x7f,0xbd,0xe3, 110 0x37,0x55,0x94,0x23,0x38,0x3f,0x49,0x1e,0x16,0x7b,0xba,0x8b,0x6d,0xf3,0xfc,0x3d, 111 0x8e,0x17,0xb2,0x1d,0x8c,0x33,0x53,0x14,0x3f,0xe5,0xee,0xaf,0x59,0xa2,0xbe,0x5f, 112 0xa5,0xce,0x6c,0x51,0xbd,0x59,0x1c,0xff,0x5c,0x37,0x7e,0xc8,0xe6,0xc4,0x36,0x97, 113 0xfc,0xe6,0xb0,0x06,0x40,0x7d,0x3c,0x2f,0x73,0xae,0x14,0xb1,0x76,0x44,0xcd,0x33, 114 0x9f,0xf2,0xd1,0x71,0x57,0xe3,0x7f,0x4a,0xbf,0xa0,0x75,0xd0,0xc1,0x90,0xaf,0x01, 115 0x02,0xf3,0x06,0xb5,0x70,0xff,0xa0,0x36,0xb9,0xf4,0x7f,0x97,0x62,0x03,0x82,0xfe, 116 0x5f,0x80,0x6c,0x75,0xc4,0xe0,0x67,0x60,0x50,0x5f,0x03,0x42,0xde,0xf7,0x20,0xda, 117 0xce,0x97,0xa6,0xbe,0xcd,0x66,0x70,0x50,0x1d,0xf8,0x69,0x20,0x36,0x24,0xa8,0xaf, 118 0xc1,0x21,0xcf,0x61,0x28,0xf9,0x81,0xc3,0xd3,0xc4,0x6a,0x83,0xe2,0x03,0x9c,0xde, 119 0x88,0xa0,0xf6,0x89,0xe3,0x3f,0x92,0x98,0x38,0xec,0x21,0x62,0x50,0x1d,0xc3,0x5a, 120 0xf0,0x6b,0x41,0xed,0xa1,0x0f,0x79,0x2d,0x6b,0x10,0x9b,0xdf,0xb9,0x92,0xaf,0x1b, 121 0x5b,0xe4,0x94,0x0f,0x72,0x02,0x76,0x73,0x32,0xe7,0xbe,0xd6,0x91,0x25,0xa9,0x6e, 122 0x01,0x75,0x51,0x73,0xf4,0xe3,0x7d,0x01,0xfb,0xb9,0xd2,0xb4,0x2e,0xbd,0xce,0x7c, 123 0x5b,0xc4,0x78,0x8b,0x5c,0xbc,0x03,0x1c,0x3f,0x74,0x0a,0xa3,0x6d,0x83,0xe4,0xeb, 124 0xd4,0xb7,0x82,0xd6,0xbf,0x90,0xad,0x12,0x95,0x59,0x9d,0xba,0x5c,0x54,0x6e,0x75, 125 0xea,0x12,0xca,0x2d,0x87,0x20,0x5f,0x8c,0xfb,0x9e,0x31,0xf1,0x6e,0x75,0xea,0x0f, 126 0x5c,0x9d,0xfa,0x96,0xab,0x53,0x57,0x88,0xca,0xac,0x4e,0x7d,0x8e,0xf9,0xb5,0xc2, 127 0xd5,0xa9,0x2b,0x45,0x71,0xdb,0x7b,0xab,0xc8,0x63,0xa5,0xab,0x53,0x9f,0x17,0xfd, 128 0x16,0x31,0x82,0x3e,0x7d,0x9d,0xfa,0x82,0xa8,0xdc,0x6a,0xc8,0x87,0x83,0x62,0x2f, 129 0x34,0x53,0xa7,0x8e,0x66,0x0d,0xf9,0xb0,0xab,0x21,0xc7,0x04,0xc5,0xb1,0x67,0x26, 130 0xba,0x3b,0x01,0xf8,0xd8,0xd8,0x26,0xf2,0xac,0x1d,0xeb,0xea,0xd4,0x71,0x2e,0x46, 131 0xb6,0x4e,0x1d,0xcf,0x18,0xe3,0x5c,0x8c,0x09,0x41,0x71,0xac,0x99,0xf9,0x9b,0xe8, 132 0xea,0xd4,0xaf,0x07,0xe5,0x81,0x39,0x9d,0xc0,0xb8,0xb6,0xcf,0x5f,0x14,0x95,0x83, 133 0xdf,0x5a,0xb7,0x1e,0xc0,0xd7,0xc4,0xb6,0x96,0xeb,0xb1,0x86,0x39,0xd2,0xc0,0xfe, 134 0x5a,0x57,0x4f,0x6c,0x94,0xfc,0xb8,0x6d,0x4e,0x5f,0xce,0xcc,0xe9,0x30,0xc9,0xcf, 135 0xe9,0x16,0x51,0xb9,0x8d,0x77,0xab,0x28,0xb6,0xc5,0xcd,0xa9,0x9d,0x61,0xaf,0x12, 136 0x0f,0x0e,0xdb,0xee,0x74,0x0d,0x9b,0x14,0x94,0x87,0xaf,0x37,0x26,0x07,0xc5,0xb7, 137 0xbb,0x7a,0x63,0x4a,0x50,0xbc,0xda,0xe9,0x3d,0x16,0x14,0xf7,0x35,0xc8,0xb7,0x43, 138 0x53,0xfe,0x23,0xa9,0x67,0x63,0xf8,0x4e,0x50,0x1d,0xab,0x41,0x1e,0x77,0x3e,0x6e, 139 0x9e,0xdf,0x41,0x71,0xab,0x41,0x16,0xbb,0xf5,0x87,0x6c,0x6a,0x6c,0xd3,0xb9,0x5e, 140 0xd3,0x5d,0x2d,0x31,0x83,0x76,0x56,0x83,0x2c,0x72,0x76,0x90,0xcd,0x8c,0x6d,0x36, 141 0xed,0x66,0x3b,0xbb,0xb9,0xb4,0xb3,0x1a,0x64,0xa1,0xb3,0x83,0xec,0x29,0x9c,0x81, 142 0xb4,0x9b,0xef,0xee,0xe8,0x05,0x41,0xc7,0x63,0x35,0xc8,0x42,0xea,0x3c,0xe5,0x74, 143 0xe6,0x51,0x27,0x64,0x74,0x16,0x86,0xfc,0xfe,0xff,0x5b,0x50,0x5f,0xf0,0x3d,0x8f, 144 0xf1,0xd2,0x73,0x84,0xba,0x33,0x9d,0xbf,0x59,0xf4,0x67,0x35,0x8a,0xe9,0x2c,0x72, 145 0xfe,0xde,0x0d,0xea,0x13,0x31,0x66,0x71,0xdc,0xd0,0x5d,0x4c,0xdd,0xa9,0xce,0xdf, 146 0x34,0xfa,0xb3,0x1a,0xc6,0x74,0x16,0x3b,0x7f,0x47,0x83,0xfa,0x44,0x8c,0x69,0x9c, 147 0x7f,0x5b,0xbf,0x06,0x97,0x17,0xcb,0x89,0x2d,0x0d,0x8a,0xe3,0xfb,0xc9,0x2e,0x62, 148 0x4f,0x07,0xf5,0x03,0x99,0xdd,0xdd,0xcf,0x04,0xc5,0xe7,0x24,0xf9,0x3b,0x75,0x87, 149 0x28,0xfe,0x06,0xef,0xcb,0x9d,0x6e,0x6f,0x41,0xf6,0x66,0x6c,0x3b,0xb9,0x97,0xf0, 150 0xfe,0x2c,0xf7,0xd2,0x4a,0xe6,0xf1,0x56,0xc9,0x73,0xfb,0x61,0x50,0x5f,0x83,0x5d, 151 0xce,0xae,0x72,0xd8,0x18,0xda,0xae,0x0e,0xaa,0x0b,0xd9,0x72,0x62,0x3f,0x0a,0xea, 152 0x6b,0x35,0x73,0x17,0xdf,0x2e,0x9f,0x0f,0xfa,0xdd,0x72,0x09,0x75,0x7e,0x1c,0x54, 153 0x6f,0x65,0xc8,0x7f,0xf3,0xf8,0x49,0x50,0x7c,0x01,0xbf,0x83,0xbd,0x18,0x74,0x2f, 154 0x8e,0xe5,0x59,0xbb,0x26,0xa8,0x8e,0xed,0x41,0x60,0x6b,0x89,0x49,0xca,0xa9,0x30, 155 0xfd,0xfe,0xb9,0x2e,0xa8,0x2e,0x64,0xf0,0x31,0x89,0xf7,0x48,0x63,0x50,0x1e,0xeb, 156 0x42,0xd3,0x6f,0x28,0xb8,0x13,0xd7,0x07,0x95,0x27,0x49,0xbe,0x8e,0xf8,0x4d,0xe6, 157 0x3c,0xf1,0x75,0xc4,0x6f,0x29,0xb7,0xfb,0x73,0x97,0xa8,0x0f,0xdf,0x4a,0xe3,0xae, 158 0x85,0x6c,0x37,0xef,0x92,0x0a,0x7e,0x8b,0x83,0xed,0x2e,0x57,0x83,0x6c,0x0c,0x7a, 159 0xc7,0x1d,0xb8,0x45,0x0d,0xb2,0x29,0xa8,0x0f,0x5f,0x83,0x6c,0x66,0x0d,0xb2,0xc9, 160 0xd5,0x20,0x2f,0x07,0xf5,0xb5,0xd9,0xd5,0x20,0x5b,0x68,0xbb,0xfb,0x16,0x35,0xc8, 161 0x2b,0x41,0x75,0x36,0xb9,0x1a,0x64,0x6b,0x50,0x5f,0xaf,0xb8,0xda,0xe2,0xa7,0xe4, 162 0xe7,0x6b,0x90,0x6d,0x41,0xf1,0xcd,0x4e,0xef,0x67,0x41,0xed,0x7d,0x0d,0xf2,0x1a, 163 0x31,0x5f,0x83,0xbc,0x4e,0xcc,0xd7,0x20,0xdb,0x83,0xda,0x43,0x1f,0xf2,0x6d,0xdc, 164 0x7b,0x96,0xb3,0x3b,0x5d,0x4d,0x50,0x94,0x53,0x3e,0xd8,0x6b,0xb0,0x7b,0x33,0x73, 165 0x57,0x34,0x38,0xdd,0x42,0xea,0xe2,0x3e,0x81,0xdd,0x4e,0x69,0x5a,0x6b,0x2c,0x91, 166 0x3c,0xaf,0x3f,0x49,0x7e,0x9c,0xbf,0xe0,0xbe,0xfa,0xb3,0x28,0xbe,0x9b,0x67,0xdc, 167 0x5e,0xb7,0xaf,0x20,0xdb,0x13,0xdb,0x5e,0xfa,0xda,0x23,0xfa,0xed,0x11,0xdf,0x56, 168 0xf7,0x8b,0x7e,0x7b,0xb4,0xbc,0x49,0xeb,0x15,0xe2,0x56,0xa3,0xfc,0x45,0x14,0xb3, 169 0xf3,0xfa,0xa0,0xf3,0x0d,0xd9,0x81,0xd8,0x0e,0xd2,0xf7,0x01,0x77,0x7f,0xbd,0xcd, 170 0xff,0xff,0xf8,0xa6,0x6a,0xdf,0x6b,0x6b,0x62,0x04,0xc4,0xfd,0xab,0xe4,0xbf,0x79, 171 0xd6,0xb9,0xff,0xd3,0xef,0x50,0x66,0x75,0xf9,0x21,0x51,0xcc,0x7f,0x2f,0x38,0xe2, 172 0xbe,0x2b,0x98,0xde,0x51,0x51,0x5d,0xc8,0xc6,0x45,0x04,0xf1,0xf7,0x04,0xc5,0xdf, 173 0x96,0xfc,0xf9,0x67,0x3c,0x0f,0x72,0xee,0xa1,0xf7,0x0e,0x6b,0x07,0xcc,0x0b,0x6c, 174 0x0e,0xb8,0xbc,0x7f,0x4f,0x9a,0xcf,0xfb,0x5f,0x72,0x6e,0x8e,0x73,0xde,0xcf,0x70, 175 0x6e,0x4e,0xba,0xb9,0x81,0xec,0x44,0x6c,0x27,0x19,0xf3,0x04,0xe7,0x18,0xdf,0xa5, 176 0xff,0xcd,0x6f,0xd2,0x76,0xae,0x9c,0x15,0xe5,0x31,0x25,0xfa,0x45,0x3e,0x7c,0x40, 177 0x9d,0xb3,0x8e,0xcb,0x47,0xa2,0xf8,0x07,0xb7,0xd8,0x27,0xe7,0x45,0x75,0xc0,0xc7, 178 0xf6,0xc9,0x05,0xd1,0x31,0x9c,0x67,0x3e,0x19,0x97,0x93,0x1c,0x3f,0x74,0x0e,0x07, 179 0xd5,0xc1,0x9c,0x5c,0x20,0x67,0xe3,0x79,0x31,0xc3,0xf3,0x13,0xf2,0xb4,0x5c,0xfc, 180 0x54,0xd4,0xde,0xef,0xa5,0xcf,0x88,0xf9,0xbd,0x74,0x89,0x98,0xdf,0x4b,0x97,0x45, 181 0xed,0xa1,0x7f,0x89,0xb9,0x5b,0x1f,0xe3,0x20,0x26,0xe2,0x5c,0x26,0x67,0xcb,0xdb, 182 0xbd,0xd2,0xf4,0x3b,0xf6,0xd5,0xf4,0x1b,0xae,0x24,0x55,0xb1,0xfd,0x1f,0x4b,0x66, 183 0xdb,0xf2,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 = 4, 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