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