// GENERATED FILE - DO NOT EDIT. // Generated by gen_vk_internal_shaders.py. // // Copyright 2018 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // shaders/gen/OverlayDraw.frag.00000000.inc: // Pre-generated shader for the ANGLE Vulkan back-end. #pragma once constexpr uint8_t kOverlayDraw_frag_00000000[] = { 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x58,0x5b,0x6c,0x55,0x45, 0x14,0x3d,0x33,0x17,0x6e,0x29,0x0f,0x1f,0x51,0x8b,0x44,0x6c,0x78,0xd4,0x44,0x44, 0xdb,0x8a,0x40,0x81,0x42,0xb1,0x28,0x22,0x15,0x0a,0x08,0x14,0x5f,0xb4,0xe2,0x23, 0x96,0x48,0x01,0xe5,0x11,0x12,0x40,0xda,0x8a,0x4a,0x21,0x18,0x50,0x91,0x44,0x7f, 0x34,0x51,0x63,0xd4,0x00,0xc2,0xa5,0xa0,0x3c,0x3e,0xfc,0xd0,0x40,0xea,0xaf,0xc6, 0x44,0x8d,0x91,0x60,0x24,0x1a,0x8d,0x46,0x40,0x34,0x88,0x7b,0x9d,0xbd,0x36,0xdd, 0x1c,0x7a,0x93,0xc9,0x9c,0x59,0x7b,0xed,0xe7,0xcc,0x9e,0x7b,0xee,0xcd,0xc5,0xe1, 0x45,0x49,0x12,0x92,0xbe,0x49,0x9f,0xe4,0x70,0x4c,0xd2,0xcf,0xd5,0x49,0x14,0x24, 0x49,0xfa,0x25,0xf9,0x74,0x9e,0x36,0x63,0xee,0x8c,0xf2,0x15,0x2b,0x9f,0x28,0x1f, 0x3d,0xa6,0x12,0xf2,0x2b,0x92,0x5c,0xca,0x83,0xec,0x4a,0xd1,0xeb,0x25,0x33,0x46, 0xcb,0xa2,0xc5,0x4b,0x81,0x8f,0x97,0x31,0x5f,0x84,0xed,0x32,0xae,0x12,0x2e,0x64, 0x45,0xb0,0x23,0x4f,0x15,0x32,0xe7,0x13,0xe0,0x49,0x72,0x6f,0xd2,0x3b,0xa9,0x54, 0x97,0xc9,0x70,0xce,0x86,0x05,0x62,0x9e,0x17,0x89,0x0d,0x71,0x58,0x8e,0x58,0x25, 0xed,0x8f,0xa2,0xfd,0xca,0xa0,0x9c,0x3b,0x32,0xf6,0xa7,0x89,0xc6,0x1d,0xb4,0x05, 0xfe,0x18,0x99,0x87,0x5d,0x94,0xe9,0x7a,0xa8,0xe3,0x8e,0x4f,0xf3,0x55,0x19,0x9e, 0x4b,0x1d,0x77,0x79,0x46,0x77,0x39,0x75,0xcd,0xf6,0xbe,0x4c,0xae,0x85,0x1e,0x72, 0x2d,0xf4,0x90,0x6b,0xa1,0x87,0x5c,0x0b,0x3d,0xe4,0xba,0xdf,0x72,0xed,0xa5,0x9c, 0xce,0x1e,0x72,0xed,0x74,0xf1,0x1c,0xcc,0xc4,0x7b,0x90,0xf1,0x06,0xfa,0xa8,0x0d, 0x97,0xc7,0x07,0xcc,0xe2,0xeb,0xe3,0x30,0x8b,0xaf,0x3f,0xfd,0x18,0x06,0xbb,0xd8, 0xfb,0x7e,0xe9,0xd9,0xd0,0x35,0xce,0x81,0xd5,0xed,0x1a,0x61,0xc5,0xd4,0x6f,0x2e, 0xcd,0x07,0xcf,0xd7,0x09,0x27,0xcf,0x5c,0xf1,0x19,0x28,0xeb,0x22,0xe6,0x06,0x79, 0x89,0x30,0x07,0x50,0x0e,0x59,0x89,0xcc,0x03,0x78,0xe6,0x46,0x52,0xb7,0x8c,0xba, 0xb6,0x1e,0x41,0x39,0xf8,0x23,0x69,0xcb,0xf3,0xcb,0x59,0xef,0xc1,0x3c,0x93,0x23, 0x89,0x95,0x8a,0xb4,0x92,0xeb,0x12,0xce,0x15,0x4e,0xef,0x76,0xc6,0x31,0x98,0x67, 0xad,0x92,0x58,0x29,0xcf,0xd5,0xa8,0x54,0xde,0x2b,0x19,0xcd,0xd8,0x81,0x55,0x73, 0x3d,0xc6,0xe5,0x3b,0x96,0x76,0x02,0x6d,0x63,0x5d,0xc5,0x1c,0xa0,0x3f,0x8e,0xb2, 0x3c,0xf5,0xc7,0xb1,0xaf,0x3c,0xbf,0x9a,0x67,0x02,0xfc,0x1a,0xda,0x46,0xbc,0xd7, 0xca,0xd3,0x54,0x17,0x73,0xbd,0xd3,0xc3,0xba,0xe1,0x22,0x57,0xd7,0x8f,0x73,0x6f, 0x6d,0xdd,0x2c,0xe3,0x82,0x8c,0x41,0x49,0x71,0xb2,0x94,0xb5,0xe6,0xd1,0xb8,0x6c, 0x86,0xef,0x65,0x7c,0x5e,0xca,0x58,0xb1,0x5e,0xee,0xf6,0x72,0x85,0xcc,0x63,0xe9, 0x13,0xeb,0xd5,0x5c,0xe7,0x5c,0x2e,0x6d,0x99,0x98,0xb6,0xc9,0x68,0xe2,0x1a,0xfe, 0x5f,0xa3,0xbd,0x5b,0xe5,0x64,0x60,0x5f,0x76,0x10,0xf3,0xc3,0xb8,0x6f,0xc9,0xf8, 0xb2,0xab,0xab,0xc6,0xb8,0x6f,0x67,0x78,0x6f,0x39,0xbf,0xef,0x30,0x17,0xe4,0xf1, 0xee,0xc5,0xf3,0xd6,0x1d,0xc7,0x5e,0x19,0x77,0x72,0xbf,0xf7,0xb1,0xbe,0x7b,0x79, 0x4e,0x0a,0x99,0x73,0xb2,0x8f,0x3c,0xf4,0x65,0xc1,0x9d,0x0b,0xf4,0xe0,0x7e,0xfa, 0x38,0x40,0x1f,0x9d,0xac,0x15,0xd6,0x07,0x5d,0xee,0x88,0xbf,0x28,0x2d,0x6e,0xeb, 0x64,0x8b,0xbf,0x4f,0xb8,0x34,0x7e,0xc8,0x61,0xab,0x3f,0x7b,0x2e,0x9f,0xfa,0xd1, 0xbe,0xb4,0xbe,0xc9,0xd3,0xdf,0x14,0xc1,0x8a,0xe5,0x19,0xb2,0x6a,0xae,0xef,0x22, 0x06,0xf9,0xdd,0x7c,0x36,0xfe,0x3c,0xf6,0x7b,0x09,0xe3,0xc3,0x7a,0x3e,0x31,0xec, 0x5d,0x43,0xd0,0xf3,0x10,0xd3,0xbd,0xe8,0x9d,0xfa,0x5b,0x16,0xb4,0xff,0xca,0xc8, 0x59,0x2e,0xeb,0xa9,0xe4,0xc0,0x66,0x5b,0xd0,0xbd,0x36,0x9b,0x6d,0xfc,0x6e,0xc8, 0xb9,0xfd,0x7c,0x3e,0x68,0x5e,0x96,0x1f,0xc6,0x58,0xb1,0x1f,0xd9,0xb7,0x09,0xcf, 0xcb,0xdf,0x82,0xf4,0x96,0xf9,0xac,0xac,0xb6,0xf3,0x10,0xfe,0x2b,0xcf,0xf0,0xfd, 0x4a,0x50,0x39,0xe6,0x5a,0x61,0x21,0xb7,0xa9,0xcc,0x17,0xfb,0x3c,0x89,0x7b,0x7a, 0x0f,0xf1,0x0f,0x85,0x83,0x38,0xa7,0x05,0xc5,0xca,0x68,0xb7,0x8e,0x76,0xff,0x11, 0x3e,0x64,0xd3,0x65,0xd4,0xd3,0x36,0x66,0xb3,0x33,0x2b,0x68,0x4f,0xd6,0x4a,0x0e, 0xe8,0xbf,0xd9,0x41,0xf7,0xb2,0x8a,0xb2,0x2a,0xfa,0xc4,0xd9,0x98,0x13,0x54,0x7e, 0x4e,0x6c,0xd4,0xd1,0xd6,0x74,0x67,0xeb,0xbe,0x8c,0xad,0x19,0x41,0xef,0x8b,0x2a, 0xca,0xbc,0xad,0x99,0x41,0xe5,0xde,0x16,0xe6,0xd3,0xa2,0x0b,0x79,0x21,0xaa,0x3f, 0xc4,0x3a,0x93,0xf1,0x4f,0xe2,0xbd,0xb9,0x80,0xfb,0x39,0x4b,0xb8,0xd8,0xcb,0x07, 0x82,0x62,0x0b,0x42,0x77,0x5f,0xf7,0x97,0x88,0x20,0x7b,0x90,0xfb,0x8e,0xbb,0x01, 0xbc,0x16,0xde,0xcb,0x0f,0x51,0x66,0x35,0x7e,0x98,0x35,0x6e,0x73,0x35,0x7e,0x84, 0xb8,0xd5,0x78,0x61,0x50,0xcc,0x6a,0xdc,0xe4,0x6a,0x0c,0x59,0xa3,0x8c,0x26,0xe6, 0xd2,0x98,0xda,0xce,0xa7,0xb6,0x1f,0xa5,0xed,0x2a,0x9e,0x2f,0xb3,0xbf,0x88,0xb2, 0x76,0xb1,0x8f,0xf5,0x63,0x41,0x31,0xdc,0x75,0x73,0x88,0x3d,0x11,0x34,0x56,0x7c, 0x8c,0xf7,0x64,0x50,0x2e,0x64,0xf7,0x0b,0x82,0x7c,0xde,0x8c,0x8a,0x1b,0x17,0xb5, 0x01,0xde,0x1c,0x54,0x86,0x61,0xf7,0x1d,0x6a,0x6e,0x71,0x36,0xb1,0xe6,0xe0,0xee, 0x8f,0xaa,0x8f,0x7d,0x68,0x66,0x3e,0x66,0x67,0x49,0xd0,0x3d,0x29,0xc4,0xee,0x1a, 0xb7,0xb3,0x77,0x5a,0x82,0xea,0x82,0xb3,0x47,0x30,0xf4,0xce,0x33,0x41,0x71,0xf4, 0xd5,0x1b,0x92,0x2f,0xea,0xf7,0x2c,0xf1,0xf7,0xb9,0x5e,0x11,0x14,0x43,0x2d,0x57, 0xb9,0x5a,0x02,0x5f,0x29,0x63,0x15,0x63,0x5c,0xe9,0xe2,0x58,0xe3,0xe2,0x88,0xec, 0x27,0x8b,0x63,0x6d,0x50,0x39,0xe2,0xd8,0xc5,0x38,0xd6,0x31,0x8e,0xb5,0x2e,0x8e, 0xf5,0xc4,0x51,0x07,0xf3,0xb1,0x8a,0x75,0x80,0xfc,0x39,0xc6,0x85,0xda,0xac,0x67, 0x2c,0x88,0xb1,0xd5,0xc5,0x08,0xce,0x06,0x19,0xad,0xd4,0xc7,0x73,0x8d,0x70,0x70, 0x27,0x3c,0x4f,0xdb,0xdb,0x29,0x6b,0xa5,0x7e,0x47,0xa6,0x27,0x37,0xc9,0xd8,0x4a, 0xce,0x56,0x72,0x5a,0xe2,0xa5,0xf7,0x41,0x49,0x54,0x39,0x66,0x3b,0x37,0x03,0xe3, 0xa5,0x7d,0x76,0x7d,0xec,0xee,0x59,0xc8,0x7c,0x9f,0x0d,0x8a,0x2a,0xb7,0xf3,0x74, 0x43,0xd4,0x7a,0xe0,0xf3,0x01,0xcf,0xf5,0xe0,0xa8,0x38,0xfc,0xd9,0xde,0xdc,0x18, 0x15,0x47,0x4c,0xc3,0x62,0x77,0xdc,0xc0,0x4b,0x65,0x0c,0x63,0x5c,0xa5,0xce,0xf6, 0x10,0xda,0x0e,0xce,0xf6,0xd0,0xa8,0x78,0x19,0xcf,0x9d,0xe9,0x61,0xb6,0x7a,0x0f, 0xa7,0x2f,0xe4,0x38,0x94,0xf6,0x2d,0x8e,0xb2,0xa8,0x72,0xc4,0x51,0xe1,0xe2,0x00, 0x7e,0x93,0x8c,0x0a,0xda,0xc3,0x73,0x2b,0xe3,0xb8,0x99,0xf9,0xf8,0x3e,0xba,0x25, 0x6a,0x2d,0xa2,0xc3,0x6e,0x25,0xe6,0x7b,0xeb,0xb6,0xa8,0x5c,0xc8,0x2c,0x87,0xf2, 0xa8,0x36,0x21,0x43,0x0e,0xe6,0xb3,0xc2,0xe5,0x50,0xc9,0x38,0x91,0x57,0x39,0x63, 0xb3,0x1c,0x6e,0x8f,0x2a,0x47,0x0e,0x13,0x5d,0x0e,0xc0,0x47,0xc9,0x98,0x48,0x7b, 0xa3,0x5c,0x2d,0x47,0xbb,0x5a,0x5a,0x5e,0x63,0xa2,0xe2,0x3e,0xaf,0x2a,0xe6,0x90, 0x73,0xd8,0x78,0x62,0xc1,0xe5,0x35,0x21,0x2a,0x77,0xbc,0xcb,0xab,0x3a,0xaa,0xcd, 0x09,0xcc,0xcb,0xe2,0x98,0xe8,0xf2,0x9a,0xc4,0xd8,0x91,0x6b,0x35,0xe3,0x45,0x1e, 0x93,0x5d,0x1e,0xe0,0xd4,0xc8,0x98,0x4c,0xfd,0x1a,0xda,0x6b,0xe1,0x1a,0x78,0xad, 0xdc,0xc0,0xf8,0xae,0xaf,0xcd,0x9c,0xd5,0xb6,0xcc,0x9d,0x38,0x25,0x2a,0x07,0x3e, 0x76,0x66,0x7a,0x61,0x35,0xed,0x61,0x7e,0x91,0x79,0xad,0xe1,0x5e,0x4f,0x71,0xd8, 0xda,0xa8,0xf8,0x88,0x44,0xfd,0xa2,0x47,0xd6,0x65,0xfc,0x56,0x93,0x67,0x7d,0xb2, 0x3e,0x2a,0xa7,0x83,0x36,0x36,0x38,0x1b,0x56,0xaf,0xb6,0xa8,0xb8,0xdd,0xff,0xaf, 0xbb,0x1a,0x40,0xd6,0x2e,0xe3,0x05,0xc6,0xf8,0x82,0xab,0xf3,0x4b,0xd4,0xab,0xa7, 0xde,0x0e,0xa7,0x07,0xd9,0x26,0x19,0x5b,0xa8,0xb7,0xc5,0xe9,0x6d,0xa5,0x5e,0x03, 0xf5,0x5e,0x73,0x7a,0x90,0xbd,0x2c,0x63,0x3b,0xf5,0xb6,0xbb,0xb3,0xf3,0x6a,0xd4, 0x7c,0x72,0xec,0xb9,0x9d,0xe4,0xbc,0xec,0x38,0xdb,0xc8,0x89,0x19,0x0e,0x7c,0x5c, 0x90,0x93,0x83,0xe7,0x4d,0x8e,0xbf,0x99,0xfc,0x90,0xe1,0xef,0x70,0xfc,0x76,0xc7, 0xdf,0x48,0x7e,0x92,0xe1,0xbf,0xee,0xf8,0x3b,0xd3,0x73,0xd6,0x2f,0xe5,0x77,0x46, 0x8d,0x1b,0x79,0x6c,0x63,0x6e,0x9b,0x59,0x9b,0x8d,0xac,0xad,0xd9,0x9e,0xd6,0xc3, 0x99,0x9f,0xde,0xc3,0x99,0xaf,0x8b,0xca,0x85,0xec,0x23,0xd6,0x74,0x66,0x54,0x5f, 0x75,0x3c,0x63,0xf3,0x5c,0x4d,0x21,0xab,0x97,0x31,0x8f,0xb1,0xd6,0x3b,0x9f,0xb3, 0x7b,0xe8,0xc7,0x39,0x51,0x71,0x9c,0x91,0x5d,0xb4,0x3f,0x37,0x2a,0x5e,0xc7,0x1e, 0x30,0x5b,0xf3,0x5c,0x4f,0xcd,0x8f,0x1a,0x07,0xf2,0x9f,0x4b,0x9f,0x88,0xa5,0xd1, 0xc5,0x02,0x4e,0x83,0x8c,0x46,0xea,0x37,0xb8,0x58,0x1e,0x72,0xb1,0x7c,0x4e,0xec, 0x61,0xf6,0x01,0x64,0x5f,0x10,0x7b,0x24,0x2a,0x5e,0xef,0xce,0xf0,0xc2,0xa8,0xb8, 0xdd,0xc7,0x66,0xbf,0xd1,0xc5,0xd7,0x14,0x35,0x46,0xc4,0xbc,0x90,0x71,0x98,0xef, 0xc7,0x9c,0x6f,0xab,0xf3,0xe3,0xcc,0x17,0x32,0xab,0xc3,0x93,0x51,0x71,0xd4,0xfa, 0x3d,0x62,0x4f,0x45,0xc5,0x9b,0x98,0xef,0x62,0x97,0x2f,0x64,0xcd,0x32,0x16,0x33, 0x9e,0xe6,0xcc,0x1d,0xb2,0x38,0xea,0xf7,0x1d,0x7e,0xdf,0x3c,0x9d,0xe9,0x65,0x7b, 0x2f,0xc6,0xbb,0xe1,0x92,0xa8,0x72,0xaf,0xdb,0x92,0xe6,0x56,0x9c,0xca,0x0f,0x44, 0xfd,0x2d,0x82,0x3b,0x0a,0xbf,0xbf,0xe0,0x67,0x09,0xfd,0xda,0xf7,0xf7,0x01,0xea, 0x77,0xf0,0xbb,0x79,0x13,0xbf,0x9b,0xbb,0x32,0xef,0xea,0xbb,0x29,0xdf,0xed,0xde, 0x81,0xf7,0x64,0xde,0x81,0x3f,0x76,0xef,0xc0,0x7b,0xdc,0xfb,0x65,0xfa,0x1b,0x2c, 0xa8,0xdc,0xde,0x6d,0x0a,0x41,0xb1,0xbd,0xee,0x3d,0xd6,0xea,0xde,0x49,0xdc,0x7f, 0x7f,0x7d,0xe2,0xb8,0x86,0x7d,0x15,0xba,0xbf,0xdf,0xed,0x3e,0xfc,0x3a,0x28,0x0e, 0xbe,0x61,0xdf,0x04,0xc5,0x47,0x38,0xde,0xb7,0x41,0x71,0x7f,0x6f,0x7e,0x97,0x89, 0xbf,0x9a,0x3c,0xcb,0xe1,0xfb,0xa0,0x1c,0xbb,0x37,0x7f,0x70,0x36,0xec,0xcc,0xfd, 0x18,0x14,0xb7,0x7b,0xf3,0xac,0x7b,0x0f,0x82,0xec,0x84,0x8c,0x9f,0x58,0x4b,0xcc, 0xa6,0xf7,0x33,0xf5,0xec,0xde,0x3c,0xe3,0xf4,0x20,0x3b,0x25,0xe3,0x57,0xea,0xfd, 0xea,0xf4,0x7e,0xa3,0x9e,0xdd,0x9b,0xa7,0x9d,0x1e,0x64,0xbf,0xcb,0xf8,0x93,0x7a, 0x98,0xad,0x76,0x7f,0x05,0xcd,0xc7,0xee,0xcd,0xd3,0xe4,0xfc,0xee,0x38,0x7f,0x90, 0x13,0x33,0x9c,0xd3,0x7c,0x7f,0x04,0xe7,0xd3,0xa8,0xb6,0x60,0xfb,0x0f,0xfa,0x03, 0xf7,0x0c,0xb9,0xa7,0x9c,0xbd,0x5f,0x68,0xcf,0xee,0x55,0xe3,0x9c,0x71,0xf6,0x3e, 0x89,0x6a,0x13,0x3e,0x7e,0x61,0xde,0xe0,0x9e,0x25,0xf7,0x84,0xb3,0x77,0x92,0xf6, 0xec,0xde,0x35,0xce,0x59,0x67,0xef,0x60,0x54,0x9b,0xf0,0x71,0x92,0xf5,0xb7,0xfd, 0x3b,0xe7,0xce,0xc5,0x46,0x62,0xff,0x04,0xc5,0xf1,0x1f,0xcb,0x67,0xc4,0xce,0x07, 0xb5,0x03,0x99,0xdd,0x37,0xff,0x05,0xc5,0x9b,0xdd,0x7d,0x78,0x38,0x28,0xbe,0x8d, 0x7b,0x71,0xd4,0xed,0x05,0x64,0x47,0x64,0x1c,0x65,0x8c,0x47,0x98,0x57,0x17,0xd7, 0x47,0x19,0x17,0x7a,0x23,0xf2,0xde,0x29,0xf0,0xec,0xe1,0x7f,0x9a,0x5c,0xd4,0xff, 0x68,0xd6,0xf1,0xff,0x99,0xde,0x51,0x79,0xeb,0xf8,0xbf,0x48,0x3e,0xaa,0x6f,0xd4, 0x06,0xeb,0xa2,0xa8,0x1c,0xeb,0x17,0x60,0x7d,0x88,0x21,0xac,0xd9,0x92,0x05,0xfe, 0xd7,0x29,0x8e,0xca,0x85,0x2c,0xef,0xec,0xf5,0x8d,0xda,0x87,0x4d,0xfc,0xbd,0xdf, 0x2f,0x6a,0x0c,0xc5,0xfc,0x1e,0xed,0xcb,0x7b,0x12,0xff,0x2d,0xf4,0x8f,0x2a,0x4f, 0x92,0xee,0x7b,0xeb,0xf3,0x4c,0x2f,0xf9,0x7b,0xeb,0x8b,0xa0,0xf2,0xd9,0xb4,0x7d, 0x2c,0xa8,0x8d,0x4b,0x86,0xf4,0x24,0x64,0xc7,0x79,0x5e,0xca,0xf9,0xbf,0x10,0x74, 0x8f,0x65,0x6a,0xd7,0xc5,0xfd,0x06,0xff,0x10,0xef,0x3a,0xd4,0xf7,0x38,0xeb,0x6d, 0x77,0xdd,0xa1,0xcc,0x5d,0xd7,0x91,0xf9,0xed,0x82,0xf9,0xbc,0x78,0x1b,0x27,0xe3, 0x7f,0xaf,0x08,0xad,0xd2,0x68,0x17,0x00,0x00 }; // Generated from: // // #version 450 core // // #extension GL_GOOGLE_include_directive : require // // #line 1 "shaders/src/OverlayDraw.inc" // // #extension GL_EXT_samplerless_texture_functions : require // // struct TextWidgetData // { // uvec4 coordinates; // vec4 color; // uvec4 fontSize; // uvec4 text[256 / 16]; // }; // // struct GraphWidgetData // { // uvec4 coordinates; // vec4 color; // uvec4 valueWidth; // uvec4 values[256 / 4]; // }; // // layout(set = 0, binding = 0)uniform TextWidgets // { // TextWidgetData textWidgetsData[32]; // }; // // layout(set = 0, binding = 1)uniform GraphWidgets // { // GraphWidgetData graphWidgetsData[32]; // }; // // layout(set = 0, binding = 2)uniform texture2DArray font; // // layout(push_constant)uniform PushConstants // { // uvec2 viewportSize; // // bool isText; // // bool rotateXY; // } params; // #line 18 "shaders/src/OverlayDraw.frag" // // layout(location = 0)flat in uint widgetIndex; // layout(location = 0)out vec4 color; // // uint getChar(const uvec2 coordInWidget, const uint fontGlyphWidth) // { // const uint charIndex = coordInWidget . x / fontGlyphWidth; // const uint packIndex = charIndex / 4; // const uvec4 arrayItem = textWidgetsData[widgetIndex]. text[packIndex / 4]; // const uint col = packIndex % 4; // // uint packedChars; // if(col == 0) // { // packedChars = arrayItem[0]; // } // else if(col == 1) // { // packedChars = arrayItem[1]; // } // else if(col == 2) // { // packedChars = arrayItem[2]; // } // else // { // packedChars = arrayItem[3]; // } // // const uint shift =(charIndex % 4)* 8; // // return(packedChars >> shift)& 0xFF; // // } // // float sampleFont(const uint textChar, // const uvec2 coordInWidget, // const uvec2 fontGlyphSize, // const uint fontMip) // { // const uvec2 coordInGlyph = coordInWidget % fontGlyphSize; // return texelFetch(font, ivec3(coordInGlyph, textChar), int(fontMip)). x; // } // // vec4 renderText(uvec2 coordInWidget) // { // const uvec4 fontSizePacked = textWidgetsData[widgetIndex]. fontSize; // const uvec2 fontGlyphSize = fontSizePacked . xy; // const uint fontMip = fontSizePacked . z; // // const uint textChar = getChar(coordInWidget, fontGlyphSize . x); // // if(textChar >= 95) // { // return vec4(0); // } // // const float sampleValue = sampleFont(textChar, coordInWidget, fontGlyphSize, fontMip); // // vec4 result = vec4(0, 0, 0, 0.4); // result = mix(result, textWidgetsData[widgetIndex]. color, sampleValue); // // return result; // } // // uint getValue(const uvec2 coordInWidget, const uint valueWidth) // { // const uint valueIndex = coordInWidget . x / valueWidth . x; // const uvec4 arrayItem = graphWidgetsData[widgetIndex]. values[valueIndex / 4]; // const uint col = valueIndex % 4; // // if(col == 0) // { // return arrayItem[0]; // } // else if(col == 1) // { // return arrayItem[1]; // } // else if(col == 2) // { // return arrayItem[2]; // } // else // { // return arrayItem[3]; // } // } // // vec4 renderGraph(uvec2 coordInWidget) // { // const uvec4 widgetCoords = graphWidgetsData[widgetIndex]. coordinates; // // if(coordInWidget . x == 0 || coordInWidget . y == 0 || // coordInWidget . x + 1 ==(widgetCoords . z - widgetCoords . x)|| // coordInWidget . y + 1 ==(widgetCoords . w - widgetCoords . y)) // { // return vec4(0, 0, 0, 1); // } // // const uint valueWidth = graphWidgetsData[widgetIndex]. valueWidth . x; // // const uint value = getValue(coordInWidget, valueWidth); // // const uint widgetHeight = widgetCoords . w - widgetCoords . y; // // bool indicateOverflow = value > widgetHeight && coordInWidget . y + 4 >= widgetHeight // &&((coordInWidget . x ^ coordInWidget . y)& 1)== 0; // // if((widgetHeight - coordInWidget . y)>= value || indicateOverflow) // { // return vec4(0); // } // // return graphWidgetsData[widgetIndex]. color; // } // // void main() // { // const uvec4 widgetCoords = params . isText // ? textWidgetsData[widgetIndex]. coordinates // : graphWidgetsData[widgetIndex]. coordinates; // uvec2 fragCoords = uvec2(floor(gl_FragCoord . xy)); // // if(params . rotateXY) // { // // fragCoords . x = params . viewportSize . x - 1 - fragCoords . x; // fragCoords = fragCoords . yx; // } // // const uvec2 coordInWidget = fragCoords - widgetCoords . xy; // // if(any(lessThan(coordInWidget, uvec2(0)))|| // any(greaterThanEqual(coordInWidget, widgetCoords . zw - widgetCoords . xy))) // { // color = vec4(1, 0, 1, 1); // return; // } // // if(params . isText) // { // color = renderText(coordInWidget); // } // else // { // color = renderGraph(coordInWidget); // } // }