Repository navigation
[Bug]: Some unloaded tabs are scaled weirdly when hovered. #4564
Copy link
Copy link
Open
Labels
Description
Describe the bug
Some unloaded tabs are scaled weirdly when hovering over them with the mouse.
I use Waterfox from official .rpm repo on my Fedora 44 with KDE Plasma 6.7.5. My GPU is RTX 3060 12 GB that I use on Linux with proprietary NVIDIA's drivers (driver version: 615.71.09)
nvidia-smi output:
pavlo@fedora ~> nvidia-smi
Sun Oct 18 01:09:20 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 615.71.09 KMD Version: 615.71.09 CUDA UMD Version: 13.4 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3060 On | 00000000:01:00.0 On | N/A |
| 55% 51C P8 15W / 170W | 823MiB / 12288MiB | 3% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 3572 C+G /usr/bin/kwin_wayland 31MiB |
| 0 N/A N/A 3666 G /usr/bin/Xwayland 22MiB |
| 0 N/A N/A 3728 G /usr/bin/plasmashell 92MiB |
| 0 N/A N/A 4052 G /usr/bin/xwaylandvideobridge 2MiB |
| 0 N/A N/A 4602 C+G ...rack-uuid=3190708988185955192 56MiB |
| 0 N/A N/A 5222 G ...rack-uuid=3190708988185955192 16MiB |
| 0 N/A N/A 6093 G ...share/Steam/ubuntu12_32/steam 4MiB |
| 0 N/A N/A 7478 G ./steamwebhelper 16MiB |
| 0 N/A N/A 7504 G ...am/ubuntu12_64/steamwebhelper 74MiB |
| 0 N/A N/A 13643 G /usr/bin/waterfox 222MiB |
| 0 N/A N/A 18129 G /usr/bin/alacritty 16MiB |
+-----------------------------------------------------------------------------------------+
pavlo@fedora ~>Troubleshooting information (about:support)
// GitHub refused to let me paste the full raw data because "Field can not be longer than 65536 characters" and my raw data exceeded this limit drastically, so I had to cut a lot in this off.
{
"application": {
"name": "Waterfox",
"osVersion": "Linux 7.2.8-200.fc44.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Sep 25 21:05:44 UTC 2026",
"version": "6.7.6",
"buildID": "20261013130543",
"distributionID": "waterfox",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0",
"safeMode": false,
"memorySizeBytes": 16598319104,
"diskAvailableBytes": 576913428480,
"updateChannel": "release",
"supportURL": "https://www.waterfox.com/support/",
"osTheme": "Breeze / Adwaita",
"pointingDevices": [],
"numTotalWindows": 1,
"numFissionWindows": 1,
"numRemoteWindows": 1,
"fissionAutoStart": true,
"fissionDecisionStatus": "enabledByDefault",
"remoteAutoStart": true,
"policiesStatus": 0,
"keyLocationServiceGoogleFound": false,
"keySafebrowsingGoogleFound": false,
"keyMozillaFound": false
},
"securitySoftware": {
"registeredAntiVirus": "",
"registeredAntiSpyware": "",
"registeredFirewall": ""
},
"environmentVariables": {
"DISPLAY": ":0",
"GDK_CORE_DEVICE_EVENTS": "1",
"MOZ_ASSUME_USER_NS": "1",
"MOZ_LAUNCHED_CHILD": "",
"MOZ_APP_SILENT_START": "",
"XRE_PROFILE_PATH": "",
"XRE_PROFILE_LOCAL_PATH": "",
"XRE_START_OFFLINE": "",
"XRE_BINARY_PATH": "",
"XRE_RESTARTED_BY_PROFILE_MANAGER": ""
},
"modifiedPreferences": {
"browser.contentblocking.category": "custom",
"browser.download.useDownloadDir": false,
"browser.search.region": "FI",
"browser.sessionstore.upgradeBackup.latestBuildID": "20261013130543",
"browser.startup.homepage_override.mstone": "153.5.0",
"browser.startup.homepage_override.buildID": "20261013130543",
"browser.tabs.verticalTabs.tree.migrated": true,
"browser.theme.waterfox.mode": "dark",
"browser.theme.waterfox.browserStyle": "photon",
"browser.theme.waterfox.color": "ash",
"browser.theme.content-theme": 0,
"browser.theme.toolbar-theme": 0,
"browser.urlbar.quicksuggest.migrationVersion": 7,
"browser.urlbar.placeholderName": "Qwant",
"browser.urlbar.lastUrlbarSearchSeconds": 1792274083,
"browser.urlbar.quickactions.timesShownOnboardingLabel": 2,
"doh-rollout.home-region": "FI",
"doh-rollout.doneFirstRun": true,
"dom.disable_open_during_load": false,
"dom.forms.autocomplete.formautofill": true,
"extensions.lastAppVersion": "153.5.0",
"idle.lastDailyNotification": 1792195223,
"media.gmp-gmpopenh264.lastUpdate": 1792194801,
"media.gmp-gmpopenh264.version": "2.6.0",
"media.gmp-manager.lastCheck": 1792195456,
"media.gmp-widevinecdm.version": "4.10.3050.0",
"media.gmp-gmpopenh264.abi": "x86_64-gcc3",
"media.gmp-gmpopenh264.hashValue": "f5246bf14d038adf4ce0c4360262ab722bc3de4220f047c3d542b4c564074b4877dc8659e3125c5171c749e7ce93f20cc63777eb5e1539e960670cbc5f30ac85",
"media.gmp-manager.buildID": "20261013130543",
"media.gmp-widevinecdm.hashValue": "e578b2eed7ac887e13efd559e917e488ece43beb49db40a133c18f57bf9f6ed5da5434534e70f7fc3cf4eefdb9c766164b6559c513e1738e899d84d7943d577a",
"media.gmp-widevinecdm.abi": "x86_64-gcc3",
"media.eme.enabled": true,
"media.gmp-gmpopenh264.lastDownload": 1792194801,
"media.gmp-gmpopenh264.lastInstallStart": 1792194800,
"media.gmp-manager.lastEmptyCheck": 1792194998,
"media.gmp-widevinecdm.lastDownload": 1792195458,
"media.gmp-widevinecdm.lastInstallStart": 1792195456,
"media.gmp-widevinecdm.lastUpdate": 1792195458,
"media.gmp.storage.version.observed": 1,
"media.videocontrols.picture-in-picture.video-toggle.first-seen-secs": 1792196958,
"network.cookie.CHIPS.lastMigrateDatabase": 2,
"network.cookie.validation.lastEpoch": 1,
"network.http.speculative-parallel-limit": 0,
"network.prefetch-next": false,
"places.database.lastMaintenance": 1792195223,
"places.frecency.accelerateRecalculation": true,
"privacy.purge_trackers.last_purge": "1792195223703",
"privacy.purge_trackers.date_in_cookie_database": "0",
"privacy.userContext.extension": "@contain-facebook",
"privacy.sanitize.pending": "[{\"id\":\"newtab-container\",\"itemsToClear\":[],\"options\":{}}]",
"privacy.bounceTrackingProtection.hasMigratedUserActivationData": true,
"privacy.clearHistory.formdata": true,
"privacy.clearOnShutdown_v2.formdata": true,
"privacy.donottrackheader.enabled": true,
"privacy.globalprivacycontrol.was_ever_enabled": true,
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs3": true,
"privacy.sanitize.cpd.hasMigratedToNewPrefs3": true,
"privacy.trackingprotection.allow_list.hasMigratedCategoryPrefs": true,
"privacy.trackingprotection.allow_list.hasUserInteractedWithETPSettings": true,
"privacy.trackingprotection.pbmode.enabled": false,
"services.sync.declinedEngines": "passwords,creditcards,tabs",
"services.sync.lastPing": 1792195444,
"services.sync.lastSync": "Sun Oct 18 2026 00:52:38 GMT+0300 (Eastern European Summer Time)",
"services.sync.engine.tabs": false,
"services.sync.engine.passwords": false,
"services.sync.engine.prefs.modified": false,
"services.sync.engine.addresses.available": true,
"services.sync.engine.addresses": true,
"signon.autofillForms": false,
"signon.generation.enabled": false,
"signon.rememberSignons": false,
"storage.vacuum.last.places.sqlite": 1792195223,
"storage.vacuum.last.index": 0
},
"lockedPreferences": {
"browser.tabs.crashReporting.sendReport": false,
"browser.tabs.remote.separatedMozillaDomains": "",
"browser.urlbar.quicksuggest.online.available": false,
"browser.urlbar.trustPanel.breachAlerts": false,
"browser.urlbar.quicksuggest.online.enabled": false,
"browser.urlbar.suggest.quicksuggest.sponsored": false,
"browser.urlbar.quicksuggest.enabled": false,
"browser.urlbar.suggest.quicksuggest.all": false,
"doh-rollout.disable-heuristics": true,
"doh-rollout.enabled": false,
"extensions.quarantinedDomains.enabled": false,
"fission.autostart.session": true,
"media.utility-process.enabled": true,
"signon.management.page.breach-alerts.enabled": false,
"signon.recipes.remoteRecipes.enabled": false
},
"printingPreferences": {},
"media": {
"currentAudioBackend": "pulse-rust",
"currentMaxAudioChannels": 2,
"currentPreferredSampleRate": 48000,
"audioOutputDevices": [
REDACTED
],
"codecSupportInfo": "H264 SWDEC\nVP9 SWDEC\nVP8 SWDEC\nAV1 SWDEC\nHEVC SWDEC\nTheora NONE\nAAC SWDEC\nMP3 SWDEC\nOpus SWDEC\nVorbis SWDEC\nFLAC SWDEC\nWave SWDEC"
},
"accessibility": {
"isActive": false,
"forceDisabled": 0,
"instantiator": ""
},
"startupCache": {
"DiskCachePath": "<non-empty string>",
"IgnoreDiskCache": false,
"FoundDiskCacheOnInit": true,
"WroteToDiskCache": false
},
"libraryVersions": {
"NSPR": {
"minVersion": "4.39",
"version": "4.39"
},
"NSS": {
"minVersion": "3.125",
"version": "3.125"
},
"NSSUTIL": {
"minVersion": "3.125",
"version": "3.125"
},
"NSSSSL": {
"minVersion": "3.125",
"version": "3.125"
},
"NSSSMIME": {
"minVersion": "3.125",
"version": "3.125"
}
},
"userJS": {
"exists": false
},
"intl": {
"localeService": {
"requested": [
"en-US"
],
"available": [
"ach",
"af",
"ak",
"an",
"ar",
"as",
"ast",
"az",
"be",
"bg",
"bn",
"bn-BD",
"bn-IN",
"bo",
"br",
"brx",
"bs",
"ca",
"ca-valencia",
"cak",
"crh",
"cs",
"csb",
"cy",
"da",
"de",
"dsb",
"el",
"en-CA",
"en-GB",
"en-ZA",
"eo",
"es-AR",
"es-CL",
"es-ES",
"es-MX",
"et",
"eu",
"fa",
"ff",
"fi",
"fr",
"fur",
"fy-NL",
"ga-IE",
"gd",
"gl",
"gn",
"gu-IN",
"gv",
"he",
"hi-IN",
"hr",
"hsb",
"hu",
"hy-AM",
"hye",
"ia",
"id",
"is",
"it",
"ja",
"ja-JP-macos",
"ka",
"kab",
"kk",
"km",
"kn",
"ko",
"kok",
"ks",
"ku",
"lb",
"lg",
"lij",
"lo",
"lt",
"ltg",
"lv",
"mai",
"meh",
"mix",
"mk",
"ml",
"mn",
"mr",
"ms",
"my",
"nb-NO",
"ne-NP",
"nl",
"nn-NO",
"nr",
"nso",
"ny",
"oc",
"or",
"pa-IN",
"pl",
"pt-BR",
"pt-PT",
"rm",
"ro",
"ru",
"rw",
"sat",
"sc",
"sco",
"si",
"sk",
"skr",
"sl",
"son",
"sq",
"sr",
"ss",
"st",
"sv-SE",
"sw",
"szl",
"ta",
"ta-LK",
"te",
"tg",
"th",
"tl",
"tn",
"tr",
"trs",
"ts",
"uk",
"ur",
"uz",
"ve",
"vi",
"wo",
"xh",
"zam",
"zh-CN",
"zh-TW",
"zu",
"en-US"
],
"supported": [
"en-US",
"en-CA",
"en-GB",
"en-ZA"
],
"regionalPrefs": [
"en-GB"
],
"defaultLocale": "en-US"
},
"osPrefs": {
"systemLocales": [
"en-US"
],
"regionalPrefsLocales": [
"en-GB"
]
}
},
"contentAnalysis": {
"active": false
},
"sandbox": {
"hasSeccompBPF": true,
"hasSeccompTSync": true,
"hasPrivilegedUserNamespaces": true,
"hasUserNamespaces": true,
"canSandboxContent": true,
"canSandboxMedia": true,
"syscallLog": [],
"contentSandboxLevel": 6,
"effectiveContentSandboxLevel": 6
},
"remoteAgent": {
"running": false,
"url": ""
},
"graphics": {
"desktopEnvironment": "kde",
"numTotalWindows": 1,
"numAcceleratedWindows": 1,
"windowLayerManagerType": "WebRender",
"windowLayerManagerRemote": true,
"graphicsDevicePixelRatios": [
1
],
"adapterDescription": "NVIDIA GeForce RTX 3060/PCIe/SSE2",
"adapterVendorID": "0x10de",
"adapterDeviceID": "0x2504",
"adapterRAM": 0,
"adapterDrivers": "",
"driverVendor": "nvidia/unknown",
"driverVersion": "615.71.9.0",
"driverDate": "",
"adapterVendorID2": "",
"adapterDeviceID2": "",
"isGPU2Active": false,
"targetFrameRate": 60,
"windowProtocol": "wayland",
"supportFontDetermination": "Fedora Unknown - ID=fedora",
"webgl1Renderer": "NVIDIA Corporation -- NVIDIA GeForce RTX 3060/PCIe/SSE2",
"webgl1Version": "3.2.0 NVIDIA 615.71.09",
"webgl1DriverExtensions": "GL_AMD_multi_draw_indirect GL_AMD_seamless_cubemap_per_texture GL_AMD_vertex_shader_viewport_index GL_AMD_vertex_shader_layer GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_locations GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_EXT_shader_realtime_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_sparse_texture2 GL_ARB_sparse_texture_clamp GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_filter_minmax GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_EGL_image_storage GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_multiview_texture_multisample GL_EXT_multiview_timer_query GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_post_depth_coverage GL_EXT_provoking_vertex GL_EXT_raster_multisample GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_sparse_texture2 GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_filter_minmax GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_EXT_import_sync_object GL_NV_robustness_video_memory_purge GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_EXT_memory_object GL_EXT_memory_object_fd GL_NV_memory_object_sparse GL_KHR_parallel_shader_compile GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_EXT_semaphore GL_EXT_semaphore_fd GL_NV_timeline_semaphore GL_KHR_shader_subgroup GL_KTX_buffer_region GL_NV_alpha_to_coverage_dither_control GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent GL_NVX_blend_equation_advanced_multi_draw_buffers GL_NV_blend_minmax_factor GL_NV_blend_square GL_NV_clip_space_w_scaling GL_NV_command_list GL_NV_compute_program5 GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_conservative_raster GL_NV_conservative_raster_dilate GL_NV_conservative_raster_pre_snap GL_NV_conservative_raster_pre_snap_triangles GL_NV_conservative_raster_underestimation GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_draw_vulkan_image GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_feature_query GL_NV_fence GL_NV_fill_rectangle GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_coverage_to_color GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_fragment_shader_barycentric GL_NV_fragment_shader_interlock GL_NV_framebuffer_mixed_samples GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_geometry_shader_passthrough GL_NV_gpu_program4 GL_NV_internalformat_sample_query GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_program_multiview GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_memory_attachment GL_NV_mesh_shader GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_path_rendering_shared_edge GL_NV_point_sprite GL_NV_primitive_restart GL_NV_primitive_shading_rate GL_NV_query_resource GL_NV_query_resource_tag GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_representative_fragment_test GL_NV_sample_locations GL_NV_sample_mask_override_coverage GL_NV_scissor_exclusive GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_atomic_float64 GL_NV_shader_atomic_fp16_vector GL_NV_shader_atomic_int64 GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_shader_subgroup_partitioned GL_NV_shader_texture_footprint GL_NV_shading_rate_image GL_NV_stereo_view_rendering GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_dirty_tile_map GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_rectangle_compressed GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_uniform_buffer_unified_memory GL_NV_uniform_buffer_std430_layout GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NV_viewport_array2 GL_NV_viewport_swizzle GL_NVX_conditional_render GL_NV_gpu_multicast GL_NVX_progress_fence GL_NVX_gpu_memory_info GL_NVX_nvenc_interop GL_NV_shader_thread_group GL_NV_shader_thread_shuffle GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_EGL_image GL_OVR_multiview GL_OVR_multiview2 GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum",
"webgl1Extensions": "ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_frag_depth EXT_shader_texture_lod EXT_sRGB EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_etc WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context",
"webgl1WSIInfo": "EGL_VENDOR: NVIDIA\nEGL_VERSION: 1.5\nEGL_EXTENSIONS: EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_output_drm EGL_EXT_pixel_format_float EGL_EXT_protected_content EGL_EXT_stream_consumer_egloutput EGL_EXT_stream_acquire_mode EGL_EXT_sync_reuse EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context_no_error EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage EGL_NV_stream_cross_display EGL_NV_stream_cross_object EGL_NV_stream_cross_process EGL_NV_stream_cross_system EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix EGL_NV_stream_sync EGL_NV_stream_fifo_next EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time EGL_NV_output_drm_flip_event EGL_NV_triple_buffer EGL_NV_robustness_video_memory_purge EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream EGL_EXT_present_opaque\nEGL_EXTENSIONS(nullptr): EGL_EXT_platform_base EGL_EXT_device_base EGL_EXT_device_query EGL_EXT_device_enumeration EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_KHR_platform_x11 EGL_EXT_platform_x11 EGL_EXT_platform_device EGL_MESA_platform_surfaceless EGL_EXT_explicit_device EGL_KHR_platform_wayland EGL_EXT_platform_wayland EGL_KHR_platform_gbm EGL_MESA_platform_gbm EGL_EXT_platform_xcb",
"webgl2Renderer": "NVIDIA Corporation -- NVIDIA GeForce RTX 3060/PCIe/SSE2",
"webgl2Version": "3.2.0 NVIDIA 615.71.09",
"webgl2DriverExtensions": "GL_AMD_multi_draw_indirect GL_AMD_seamless_cubemap_per_texture GL_AMD_vertex_shader_viewport_index GL_AMD_vertex_shader_layer GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_locations GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_EXT_shader_realtime_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_sparse_texture2 GL_ARB_sparse_texture_clamp GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_filter_minmax GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_EGL_image_storage GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_multiview_texture_multisample GL_EXT_multiview_timer_query GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_post_depth_coverage GL_EXT_provoking_vertex GL_EXT_raster_multisample GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_sparse_texture2 GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_filter_minmax GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_EXT_import_sync_object GL_NV_robustness_video_memory_purge GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_EXT_memory_object GL_EXT_memory_object_fd GL_NV_memory_object_sparse GL_KHR_parallel_shader_compile GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_EXT_semaphore GL_EXT_semaphore_fd GL_NV_timeline_semaphore GL_KHR_shader_subgroup GL_KTX_buffer_region GL_NV_alpha_to_coverage_dither_control GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent GL_NVX_blend_equation_advanced_multi_draw_buffers GL_NV_blend_minmax_factor GL_NV_blend_square GL_NV_clip_space_w_scaling GL_NV_command_list GL_NV_compute_program5 GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_conservative_raster GL_NV_conservative_raster_dilate GL_NV_conservative_raster_pre_snap GL_NV_conservative_raster_pre_snap_triangles GL_NV_conservative_raster_underestimation GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_draw_vulkan_image GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_feature_query GL_NV_fence GL_NV_fill_rectangle GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_coverage_to_color GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_fragment_shader_barycentric GL_NV_fragment_shader_interlock GL_NV_framebuffer_mixed_samples GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_geometry_shader_passthrough GL_NV_gpu_program4 GL_NV_internalformat_sample_query GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_program_multiview GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_memory_attachment GL_NV_mesh_shader GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_path_rendering_shared_edge GL_NV_point_sprite GL_NV_primitive_restart GL_NV_primitive_shading_rate GL_NV_query_resource GL_NV_query_resource_tag GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_representative_fragment_test GL_NV_sample_locations GL_NV_sample_mask_override_coverage GL_NV_scissor_exclusive GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_atomic_float64 GL_NV_shader_atomic_fp16_vector GL_NV_shader_atomic_int64 GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_shader_subgroup_partitioned GL_NV_shader_texture_footprint GL_NV_shading_rate_image GL_NV_stereo_view_rendering GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_dirty_tile_map GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_rectangle_compressed GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_uniform_buffer_unified_memory GL_NV_uniform_buffer_std430_layout GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NV_viewport_array2 GL_NV_viewport_swizzle GL_NVX_conditional_render GL_NV_gpu_multicast GL_NVX_progress_fence GL_NVX_gpu_memory_info GL_NVX_nvenc_interop GL_NV_shader_thread_group GL_NV_shader_thread_shuffle GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_EGL_image GL_OVR_multiview GL_OVR_multiview2 GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum",
"webgl2Extensions": "EXT_color_buffer_float EXT_depth_clamp EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_draw_buffers_indexed OES_texture_float_linear OVR_multiview2 WEBGL_compressed_texture_etc WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context",
"webgl2WSIInfo": "EGL_VENDOR: NVIDIA\nEGL_VERSION: 1.5\nEGL_EXTENSIONS: EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_output_drm EGL_EXT_pixel_format_float EGL_EXT_protected_content EGL_EXT_stream_consumer_egloutput EGL_EXT_stream_acquire_mode EGL_EXT_sync_reuse EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context_no_error EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage EGL_NV_stream_cross_display EGL_NV_stream_cross_object EGL_NV_stream_cross_process EGL_NV_stream_cross_system EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix EGL_NV_stream_sync EGL_NV_stream_fifo_next EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time EGL_NV_output_drm_flip_event EGL_NV_triple_buffer EGL_NV_robustness_video_memory_purge EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream EGL_EXT_present_opaque\nEGL_EXTENSIONS(nullptr): EGL_EXT_platform_base EGL_EXT_device_base EGL_EXT_device_query EGL_EXT_device_enumeration EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_KHR_platform_x11 EGL_EXT_platform_x11 EGL_EXT_platform_device EGL_MESA_platform_surfaceless EGL_EXT_explicit_device EGL_KHR_platform_wayland EGL_EXT_platform_wayland EGL_KHR_platform_gbm EGL_MESA_platform_gbm EGL_EXT_platform_xcb",
"info": {
"AzureFallbackCanvasBackend": "skia",
"AzureCanvasBackend": "skia",
"AzureContentBackend": "skia",
"ApzWheelInput": 1,
"ApzDragInput": 1,
"ApzKeyboardInput": 1,
"ApzAutoscrollInput": 1,
"ApzZoomingInput": 1,
"CMSOutputProfile": "Empty profile data",
"DisplayCount": 1,
"Display0": "1920x1080@60Hz scales:1.000000|1.000000 HDR 123/200 nits"
},
"featureLog": {
"features": [
{
"name": "HW_COMPOSITING",
"description": "Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "OPENGL_COMPOSITING",
"description": "OpenGL Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER",
"description": "WebRender",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_COMPOSITOR",
"description": "WebRender native compositor",
"status": "blocklisted",
"log": [
{
"type": "default",
"status": "disabled",
"failureId": "FEATURE_FAILURE_DISABLED",
"message": "Disabled by default"
},
{
"type": "env",
"status": "blocklisted",
"failureId": "FEATURE_FAILURE_WEBRENDER_COMPOSITOR_DISABLED",
"message": "Blocklisted by gfxInfo"
}
]
},
{
"name": "WEBRENDER_PARTIAL",
"description": "WebRender partial present",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_SHADER_CACHE",
"description": "WebRender shader disk cache",
"status": "disabled",
"log": [
{
"type": "default",
"status": "disabled",
"failureId": "FEATURE_FAILURE_DISABLED",
"message": "Disabled by default"
}
]
},
{
"name": "WEBRENDER_OPTIMIZED_SHADERS",
"description": "WebRender optimized shaders",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_ANGLE",
"description": "WebRender ANGLE",
"status": "unavailable",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "unavailable",
"failureId": "FEATURE_FAILURE_OS_NOT_SUPPORTED",
"message": "OS not supported"
}
]
},
{
"name": "WEBRENDER_DCOMP_PRESENT",
"description": "WebRender DirectComposition",
"status": "unavailable",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "user",
"status": "disabled",
"failureId": "FEATURE_FAILURE_DCOMP_PREF_DISABLED",
"message": "User disabled via pref"
},
{
"type": "env",
"status": "unavailable",
"failureId": "FEATURE_FAILURE_NO_GPU_PROCESS",
"message": "Requires GPU process"
},
{
"type": "runtime",
"status": "unavailable",
"failureId": "FEATURE_FAILURE_DCOMP_NOT_ANGLE",
"message": "Requires ANGLE"
}
]
},
{
"name": "WEBRENDER_SCISSORED_CACHE_CLEARS",
"description": "WebRender scissored cache clears",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBGPU",
"description": "WebGPU",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "X11_EGL",
"description": "X11 EGL",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "DMABUF",
"description": "DMABUF",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "HARDWARE_VIDEO_DECODING",
"description": "Hardware video decoding",
"status": "unavailable",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "blocklisted",
"failureId": "FEATURE_FAILURE_VIDEO_DECODING_TEST_FAILED",
"message": "Blocklisted by gfxInfo"
},
{
"type": "runtime",
"status": "unavailable",
"failureId": "FEATURE_FAILURE_VIDEO_DECODING_TEST_FAILED",
"message": "Force disabled by gfxInfo"
}
]
},
{
"name": "HARDWARE_VIDEO_DECODING_VULKAN",
"description": "Hardware video decoding (Vulkan)",
"status": "disabled",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "user",
"status": "disabled",
"failureId": "FEATURE_HARDWARE_VIDEO_DECODING_VULKAN_PREF_DISABLED",
"message": "User disabled via media.hardware-video-decoding-vulkan.enabled "
}
]
},
{
"name": "HARDWARE_VIDEO_ENCODING",
"description": "Hardware video encoding",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "DMABUF_SURFACE_EXPORT",
"description": "WebGL DMABuf surface export",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "BACKDROP_FILTER",
"description": "Backdrop filter",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "CANVAS_RENDERER_THREAD",
"description": "canvas renderer thread",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "ACCELERATED_CANVAS2D",
"description": "Accelerated Canvas2D",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "DMABUF_WEBGL",
"description": "DMABuf for WebGL",
"status": "blocked",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "blocked",
"failureId": "FEATURE_FAILURE_BUG_1924578",
"message": "Blocklisted by gfxInfo"
}
]
},
{
"name": "VP8_HW_ENCODE",
"description": "VP8 hardware encoding",
"status": "blocklisted",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "blocklisted",
"failureId": "FEATURE_FAILURE_VIDEO_ENCODING_MISSING",
"message": "#BLOCKLIST_FEATURE_FAILURE_VIDEO_ENCODING_MISSING"
}
]
},
{
"name": "VP9_HW_ENCODE",
"description": "VP9 hardware encoding",
"status": "blocklisted",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "blocklisted",
"failureId": "FEATURE_FAILURE_VIDEO_ENCODING_MISSING",
"message": "#BLOCKLIST_FEATURE_FAILURE_VIDEO_ENCODING_MISSING"
}
]
},
{
"name": "H264_HW_ENCODE",
"description": "H.264 hardware encoding",
"status": "blocklisted",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "blocklisted",
"failureId": "FEATURE_FAILURE_VIDEO_ENCODING_MISSING",
"message": "#BLOCKLIST_FEATURE_FAILURE_VIDEO_ENCODING_MISSING"
}
]
},
{
"name": "AV1_HW_ENCODE",
"description": "AV1 hardware encoding",
"status": "blocklisted",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "blocklisted",
"failureId": "FEATURE_FAILURE_VIDEO_ENCODING_MISSING",
"message": "#BLOCKLIST_FEATURE_FAILURE_VIDEO_ENCODING_MISSING"
}
]
},
{
"name": "HEVC_HW_ENCODE",
"description": "HEVC hardware encoding",
"status": "blocklisted",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "blocklisted",
"failureId": "FEATURE_FAILURE_VIDEO_ENCODING_MISSING",
"message": "#BLOCKLIST_FEATURE_FAILURE_VIDEO_ENCODING_MISSING"
}
]
},
{
"name": "GL_NORM16_TEXTURES",
"description": "OpenGL normalized 16-bit texture formats",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBGPU_EXTERNAL_TEXTURE",
"description": "WebGPU external textures",
"status": "blocked",
"log": [
{
"type": "default",
"status": "disabled",
"failureId": "FEATURE_FAILURE_DISABLED",
"message": "Disabled by default"
},
{
"type": "runtime",
"status": "blocked",
"failureId": "WEBGPU_EXTERNAL_TEXTURE_UNSUPPORTED_OS",
"message": "WebGPU external textures are not supported on this Operating Sy"
}
]
},
{
"name": "MESA_THREADING",
"description": "Mesa glthread enabled",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBGL",
"description": "WebGL",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "VIDEO_HDR",
"description": "HDR video supported",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
}
],
"fallbacks": []
},
"crashGuards": [],
"webgpuDefaultAdapter": {
"navigator.gpu": null
},
"webgpuFallbackAdapter": {
"navigator.gpu": null
}
},Customization
None
Tested in Firefox
I cannot replicate this bug in Firefox
Add screenshot/video
Example:
Lovable
Example 2:
GitHub (It doesn't look as bad as Lovable, but I still think it's too long and should be shorter)
Add any other context about the bug here
No response
Reactions are currently unavailable
Activity