Alex313031 / Thorium-Special

Special builds of Thorium for SSE3 and different processors.
https://thorium.rocks/
BSD 3-Clause "New" or "Revised" License
183 stars 5 forks source link

Problem with some (animation heavy) sites on MacOS M1 #25

Closed aaykut closed 1 year ago

aaykut commented 2 years ago

I'm currently running Version 107.0.5253.0 (Official Build) (arm64)

Example: https://vxintel.io/

On this site Thorium is lagging, I almost cannot navigate it. No problem with Thorium on my Windows 11 box.

Alex313031 commented 2 years ago

@aaykut This is using webgl. Can you go to chrome://gpu and post a screenshot here.

aaykut commented 2 years ago

@Alex313031 here you go; let me know if you prefer a screen shot instead:

Graphics Feature Status Canvas: Hardware accelerated Canvas out-of-process rasterization: Enabled Direct Rendering Display Compositor: Disabled Compositing: Hardware accelerated Metal: Disabled Multiple Raster Threads: Enabled OpenGL: Enabled Rasterization: Hardware accelerated Raw Draw: Disabled Video Decode: Hardware accelerated Video Encode: Hardware accelerated Vulkan: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated WebGPU: Hardware accelerated Driver Bug Workarounds adjust_src_dst_region_for_blitframebuffer clamp_texture_base_level_and_max_level decode_encode_srgb_for_generatemipmap disable_2d_canvas_auto_flush enable_webgl_timer_query_extensions get_frag_data_info_bug pack_parameters_workaround_with_pack_buffer regenerate_struct_names remove_dynamic_indexing_of_swizzled_vector remove_invariant_and_centroid_for_essl3 set_zero_level_before_generating_mipmap unfold_short_circuit_as_ternary_operation unpack_alignment_workaround_with_unpack_buffer use_intermediary_for_copy_texture_image use_unused_standard_shared_blocks disabled_extension_GL_KHR_blend_equation_advanced disabled_extension_GL_KHR_blend_equation_advanced_coherent disabled_extension_GL_MESA_framebuffer_flip_y Problems Detected Unfold short circuit on Mac OS X: 307751 Applied Workarounds: unfold_short_circuit_as_ternary_operation Mac drivers handle struct scopes incorrectly: 403957 Applied Workarounds: regenerate_struct_names glGenerateMipmap fails if the zero texture level is not set on some Mac drivers: 560499 Applied Workarounds: set_zero_level_before_generating_mipmap Pack parameters work incorrectly with pack buffer bound: 563714 Applied Workarounds: pack_parameters_workaround_with_pack_buffer Alignment works incorrectly with unpack buffer bound: 563714 Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer copyTexImage2D fails when reading from IOSurface on multiple GPU types.: 581777 Applied Workarounds: use_intermediary_for_copy_texture_image glGetFragData{Location|Index} works incorrectly on Max: 638340 Applied Workarounds: get_frag_data_info_bug Decode and encode before generateMipmap for srgb format textures on macosx: 634519 Applied Workarounds: decode_encode_srgb_for_generatemipmap Insert statements to reference all members in unused std140/shared blocks on Mac: 618464 Applied Workarounds: use_unused_standard_shared_blocks adjust src/dst region if blitting pixels outside framebuffer on Mac: 644740 Applied Workarounds: adjust_src_dst_region_for_blitframebuffer Mac driver GL 4.1 requires invariant and centroid to match between shaders: 639760, 641129 Applied Workarounds: remove_invariant_and_centroid_for_essl3 Disable KHR_blend_equation_advanced until cc shaders are updated: 661715 Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent) Expose WebGL's disjoint_timer_query extensions on platforms with site isolation: 808744, 870491 Applied Workarounds: enable_webgl_timer_query_extensions glFlush error on Mac: 841755 Applied Workarounds: disable_2d_canvas_auto_flush Clamp texture's BASE_LEVEL/MAX_LEVEL for GenerateMipmap: 913301 Applied Workarounds: clamp_texture_base_level_and_max_level Disable GL_MESA_framebuffer_flip_y for desktop GL: 964010 Applied Workarounds: disable(GL_MESA_framebuffer_flip_y) Remove dynamic indexing for swizzled vectors on Mac: 709351 Applied Workarounds: remove_dynamic_indexing_of_swizzled_vector ANGLE Features allowCompressedFormats (Frontend workarounds): Enabled: true Allow compressed formats cacheCompiledShader (Frontend features) anglebug:7036: Disabled Enable to cache compiled shaders disableAnisotropicFiltering (Frontend workarounds): Disabled Disable support for anisotropic filtering disableProgramBinary (Frontend features) anglebug:5007: Disabled: IsPowerVrRogue(functions) Disable support for GL_OES_get_program_binary disableProgramCachingForTransformFeedback (Frontend workarounds): Disabled: IsAndroid() && isQualcomm On some GPUs, program binaries don't contain transform feedback varyings emulatePixelLocalStorage (Frontend features) anglebug:7279: Disabled: false Emulate ANGLE_shader_pixel_local_storage using shader images enableCaptureLimits (Frontend features) anglebug:5750: Disabled Set the context limits like frame capturing was enabled enableCompressingPipelineCacheInThreadPool (Frontend workarounds) anglebug:4722: Disabled: false Enable compressing pipeline cache in thread pool. enableProgramBinaryForCapture (Frontend features) anglebug:5658: Disabled Even if FrameCapture is enabled, enable GL_OES_get_program_binary forceDepthAttachmentInitOnClear (Frontend workarounds) anglebug:7246: Disabled Force depth attachment initialization on clear ops forceGlErrorChecking (Frontend features) https://issuetracker.google.com/220069903: Disabled Force GL error checking (i.e. prevent applications from disabling error checking forceInitShaderVariables (Frontend features): Disabled Force-enable shader variable initialization forceRobustResourceInit (Frontend features) anglebug:6041: Disabled Force-enable robust resource init loseContextOnOutOfMemory (Frontend workarounds): Enabled: true Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs scalarizeVecAndMatConstructorArgs (Frontend workarounds) 1165751: Disabled: false Always rewrite vec/mat constructors to be consistent RGBA4IsNotSupportedForColorRendering (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isIntel GL_RGBA4 is not color renderable RGBDXT1TexturesSampleZeroAlpha (OpenGL workarounds) anglebug:3729: Enabled: IsApple() Sampling BLACK texels from RGB DXT1 textures returns transparent black on Mac. addAndTrueToLoopCondition (OpenGL workarounds): Disabled: IsApple() && isIntel Calculation of loop conditions in for and while loop has bug adjustSrcDstRegionForBlitFramebuffer (OpenGL workarounds) 830046: Disabled: IsLinux() || (IsAndroid() && isNvidia) || (IsWindows() && isNvidia) || (IsApple() && functions->standard == STANDARD_GL_ES) Many platforms have issues with blitFramebuffer when the parameters are large. allowAstcFormats (OpenGL workarounds): Enabled: !isMesa || isIntel && (Is9thGenIntel(device) || IsGeminiLake(device) || IsCoffeeLake(device) || Is11thGenIntel(device) || Is12thGenIntel(device)) Enable ASTC on desktop OpenGL allowClearForRobustResourceInit (OpenGL workarounds) 848952: Enabled: IsApple() Using glClear for robust resource initialization is buggy on some drivers and leads to texture corruption. Default to data uploads except on MacOS where it is very slow. allowETCFormats (OpenGL workarounds): Disabled: isIntel && !IsSandyBridge(device) && !IsIvyBridge(device) && !IsHaswell(device) Enable ETC2/EAC on desktop OpenGL alwaysCallUseProgramAfterLink (OpenGL workarounds) 110263: Enabled: true Always call useProgram after a successful link to avoid a driver bug alwaysUnbindFramebufferTexture2D (OpenGL workarounds) anglebug:5536: Disabled: isNvidia && (IsWindows() || IsLinux()) Force unbind framebufferTexture2D before binding renderbuffer to work around driver bug. avoid1BitAlphaTextureFormats (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isAMD Issue with 1-bit alpha framebuffer formats bindTransformFeedbackBufferBeforeBindBufferRange (OpenGL workarounds) anglebug:5140: Enabled: IsApple() Bind transform feedback buffers to the generic binding point before calling glBindBufferBase or glBindBufferRange. clampArrayAccess (OpenGL workarounds) anglebug:2978: Enabled: IsAndroid() || isAMD || !functions->hasExtension("GL_KHR_robust_buffer_access_behavior") Clamp uniform array access to avoid reading invalid memory. clampFragDepth (OpenGL workarounds): Disabled: isNvidia gl_FragDepth is not clamped correctly when rendering to a floating point depth buffer clampMscRate (OpenGL workarounds) 1042393: Disabled: IsLinux() && IsWayland() Some drivers return bogus values for GetMscRate, so we clamp it to 30Hz clampPointSize (OpenGL workarounds): Disabled: IsAndroid() || isNvidia The point size range reported from the API is inconsistent with the actual behavior clearToZeroOrOneBroken (OpenGL workarounds) 710443: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 6) Clears when the clear color is all zeros or ones do not work. clipSrcRegionForBlitFramebuffer (OpenGL workarounds) 830046: Enabled: IsApple() || (IsLinux() && isAMD) Issues with blitFramebuffer when the parameters don't match the framebuffer size. decodeEncodeSRGBForGenerateMipmap (OpenGL workarounds) anglebug:4646: Enabled: IsApple() Decode and encode before generateMipmap for srgb format textures. disableBlendFuncExtended (OpenGL workarounds) anglebug:1085: Disabled: isAMD || isIntel ARB_blend_func_extended does not pass the tests disableDrawBuffersIndexed (OpenGL workarounds): Disabled: IsWindows() && isAMD Disable OES_draw_buffers_indexed extension. disableGPUSwitchingSupport (OpenGL workarounds) 1091824: Disabled: isDualGPUMacWithNVIDIA Disable GPU switching support (use only the low-power GPU) on older MacBook Pros. disableMultisampledRenderToTexture (OpenGL workarounds) anglebug:2894: Disabled: isAdreno4xxOnAndroidLessThan51 || isAdreno4xxOnAndroid70 || isAdreno5xxOnAndroidLessThan70 || isAdreno5xxOnAndroid71 || isLinuxVivante Many drivers have bugs when using GL_EXT_multisampled_render_to_texture disableNativeParallelCompile (OpenGL workarounds) 1094869: Disabled: isTSANBuild && IsLinux() && isNvidia Do not use native KHR_parallel_shader_compile even when available. disableSemaphoreFd (OpenGL workarounds) 1046462: Disabled: IsLinux() && isAMD && isMesa && mesaVersion < (std::array<int, 3>{19, 3, 5}) Disable GL_EXT_semaphore_fd extension disableSyncControlSupport (OpenGL workarounds) 1137851: Disabled: IsLinux() && isIntel && isMesa && mesaVersion[0] == 20 Speculative fix for issues on Linux/Wayland where exposing GLX_OML_sync_control renders Chrome unusable disableTextureClampToBorder (OpenGL workarounds) anglebug:7405: Disabled: isImagination Imagination devices generate INVALID_ENUM when setting the texture border color. disableTimestampQueries (OpenGL workarounds) 811661: Disabled: (IsLinux() && isVMWare) || (IsAndroid() && isNvidia) || (IsAndroid() && GetAndroidSdkLevel() < 27 && IsAdreno5xxOrOlder(functions)) || (IsAndroid() && IsMaliT8xxOrOlder(functions)) || (IsAndroid() && IsMaliG31OrOlder(functions)) Disable GL_EXT_disjoint_timer_query extension disableWorkerContexts (OpenGL workarounds) 849576: Disabled: (IsWindows() && (isIntel || isAMD)) || (IsLinux() && isNvidia) || IsIOS() || IsAndroid() || IsAndroidEmulator(functions) Some tests have been seen to fail using worker contexts doWhileGLSLCausesGPUHang (OpenGL workarounds) 644669: Disabled: IsApple() && functions->standard == STANDARD_GL_DESKTOP && GetMacOSVersion() < OSVersion(10, 11, 0) Some GLSL constructs involving do-while loops cause GPU hangs doesSRGBClearsOnLinearFramebufferAttachments (OpenGL workarounds): Disabled: isIntel || isAMD Issue clearing framebuffers with linear attachments when GL_FRAMEBUFFER_SRGB is enabled dontInitializeUninitializedLocals (OpenGL workarounds) anglebug:2046: Disabled: IsAndroid() && isQualcomm Initializing uninitialized locals caused odd behavior in a few WebGL 2 tests dontRelinkProgramsInParallel (OpenGL workarounds) anglebug:3045: Disabled: IsAndroid() || (IsWindows() && isIntel) Relinking a program in parallel is buggy dontUseLoopsToInitializeVariables (OpenGL workarounds) 809422: Disabled: (IsAndroid() && isQualcomm) || (isIntel && IsApple()) For loops used to initialize variables hit native GLSL compiler bugs emulateAbsIntFunction (OpenGL workarounds) 642227: Disabled: IsApple() && isIntel abs(i) where i is an integer returns unexpected result emulateAtan2Float (OpenGL workarounds) 672380: Disabled: isNvidia atan(y, x) may return a wrong answer emulateCopyTexImage2D (OpenGL workarounds): Enabled: isApple Replace CopyTexImage2D with TexImage2D + CopyTexSubImage2D. emulateCopyTexImage2DFromRenderbuffers (OpenGL workarounds) anglebug:4674: Disabled: IsApple() && functions->standard == STANDARD_GL_ES && !(isAMD && IsWindows()) CopyTexImage2D spuriously returns errors on iOS when copying from renderbuffers. emulateImmutableCompressedTexture3D (OpenGL workarounds) 1060012: Disabled: isQualcomm Use non-immutable texture allocation to work around a driver bug. emulateIsnanFloat (OpenGL workarounds) 650547: Disabled: isIntel && IsApple() && IsSkylake(device) && GetMacOSVersion() < OSVersion(10, 13, 2) Using isnan() on highp float will get wrong answer emulateMaxVertexAttribStride (OpenGL workarounds) anglebug:1936: Disabled: IsLinux() && functions->standard == STANDARD_GL_DESKTOP && isAMD Some drivers return 0 when MAX_VERTEX_ATTRIB_STRIED queried emulatePackSkipRowsAndPackSkipPixels (OpenGL workarounds) anglebug:4849: Enabled: IsApple() GL_PACK_SKIP_ROWS and GL_PACK_SKIP_PIXELS are ignored in Apple's OpenGL driver. emulatePrimitiveRestartFixedIndex (OpenGL workarounds) anglebug:3997: Enabled: functions->standard == STANDARD_GL_DESKTOP && functions->isAtLeastGL(gl::Version(3, 1)) && !functions->isAtLeastGL(gl::Version(4, 3)) When GL_PRIMITIVE_RESTART_FIXED_INDEX is not available, emulate it with GL_PRIMITIVE_RESTART and glPrimitiveRestartIndex. emulateRGB10 (OpenGL workarounds) 1300575: Enabled: functions->standard == STANDARD_GL_DESKTOP Emulate RGB10 support using RGB10_A2. finishDoesNotCauseQueriesToBeAvailable (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isNvidia glFinish doesn't cause all queries to report available result flushBeforeDeleteTextureIfCopiedTo (OpenGL workarounds) anglebug:4267: Disabled: IsApple() && isIntel Some drivers track CopyTex{Sub}Image texture dependencies incorrectly. Flush before glDeleteTextures in this case flushOnFramebufferChange (OpenGL workarounds) 1181068: Disabled: IsApple() && Has9thGenIntelGPU(systemInfo) Switching framebuffers without a flush can lead to crashes on Intel 9th Generation GPU Macs. initFragmentOutputVariables (OpenGL workarounds) 1171371: Disabled: IsAdreno42xOr3xx(functions) No init gl_FragColor causes context lost initializeCurrentVertexAttributes (OpenGL workarounds): Disabled: isNvidia During initialization, assign the current vertex attributes to the spec-mandated defaults keepBufferShadowCopy (OpenGL workarounds): Disabled: !CanMapBufferForRead(functions) Maintain a shadow copy of buffer data when the GL API does not permit reading data back. limitMax3dArrayTextureSizeTo1024 (OpenGL workarounds) 927470: Disabled: limitMaxTextureSize Limit max 3d texture size and max array texture layers to 1024 to avoid system hang limitMaxMSAASamplesTo4 (OpenGL workarounds) 797243: Disabled: IsAndroid() || (IsApple() && (isIntel || isAMD || isNvidia)) Various rendering bugs have been observed when using higher MSAA counts limitWebglMaxTextureSizeTo4096 (OpenGL workarounds) 927470: Disabled: IsAndroid() || limitMaxTextureSize Limit webgl max texture size to 4096 to avoid frequent out-of-memory errors packLastRowSeparatelyForPaddingInclusion (OpenGL workarounds) anglebug:1512: Enabled: IsApple() || isNvidia When uploading textures from an pack buffer, some drivers count an extra row padding packOverlappingRowsSeparatelyPackBuffer (OpenGL workarounds): Disabled: isNvidia In the case of packing to a pixel pack buffer, pack overlapping rows row by row passHighpToPackUnormSnormBuiltins (OpenGL workarounds) anglebug:7527: Disabled: isQualcomm packUnorm4x8 fails on Pixel 4 if it is not passed a highp vec4. preAddTexelFetchOffsets (OpenGL workarounds) 642605: Disabled: IsApple() && isIntel Intel Mac drivers mistakenly consider the parameter position of nagative vaule as invalid even if the sum of position and offset is in range, so we need to add workarounds by rewriting texelFetchOffset(sampler, position, lod, offset) into texelFetch(sampler, position + offset, lod). promotePackedFormatsTo8BitPerChannel (OpenGL workarounds) anglebug:5469: Disabled: IsApple() && hasAMD Packed color formats are buggy on Macs with AMD GPUs queryCounterBitsGeneratesErrors (OpenGL workarounds) anglebug:3027: Disabled: IsNexus5X(vendor, device) Drivers generate errors when querying the number of bits in timer queries readPixelsUsingImplementationColorReadFormatForNorm16 (OpenGL workarounds) anglebug:4214: Disabled: !isIntel && functions->standard == STANDARD_GL_ES && functions->isAtLeastGLES(gl::Version(3, 1)) && functions->hasGLESExtension("GL_EXT_texture_norm16") Quite some OpenGL ES drivers don't implement readPixels for RGBA/UNSIGNED_SHORT from EXT_texture_norm16 correctly reapplyUBOBindingsAfterUsingBinaryProgram (OpenGL workarounds) anglebug:1637: Disabled: isAMD || IsAndroid() Some drivers forget about UBO bindings when using program binaries regenerateStructNames (OpenGL workarounds) 403957: Enabled: IsApple() All Mac drivers do not handle struct scopes correctly. This workaround overwrites a structname with a unique prefix. removeDynamicIndexingOfSwizzledVector (OpenGL workarounds) 709351: Enabled: IsApple() || IsAndroid() || IsWindows() Dynamic indexing of swizzled l-values doesn't work correctly on various platforms. removeInvariantAndCentroidForESSL3 (OpenGL workarounds): Enabled: functions->isAtMostGL(gl::Version(4, 1)) || (functions->standard == STANDARD_GL_DESKTOP && isAMD) Fix spec difference between GLSL 4.1 or lower and ESSL3 resetTexImage2DBaseLevel (OpenGL workarounds) 705865: Disabled: IsApple() && isIntel && GetMacOSVersion() >= OSVersion(10, 12, 4) Reset texture base level before calling glTexImage2D to work around pixel comparison failure. rewriteFloatUnaryMinusOperator (OpenGL workarounds) 308366: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 0) Using '-' will get wrong answer rewriteRepeatedAssignToSwizzled (OpenGL workarounds): Disabled: isNvidia Repeated assignment to swizzled values inside a GLSL user-defined function have incorrect results rewriteRowMajorMatrices (OpenGL workarounds) anglebug:2273: Disabled: false Rewrite row major matrices in shaders as column major as a driver bug workaround sanitizeAMDGPURendererString (OpenGL workarounds) 1181193: Disabled: IsLinux() && hasAMD Strip precise kernel and DRM version information from amdgpu renderer strings. setPrimitiveRestartFixedIndexForDrawArrays (OpenGL workarounds) anglebug:3997: Disabled: features->emulatePrimitiveRestartFixedIndex.enabled && IsApple() && isIntel Some drivers discard vertex data in DrawArrays calls when the fixed primitive restart index is within the number of primitives being drawn. setZeroLevelBeforeGenerateMipmap (OpenGL workarounds): Enabled: IsApple() glGenerateMipmap fails if the zero texture level is not set on some Mac drivers. shiftInstancedArrayDataWithOffset (OpenGL workarounds) 1144207: Disabled: IsApple() && IsIntel(vendor) && !IsHaswell(device) glDrawArraysInstanced is buggy on certain new Mac Intel GPUs supportsFragmentShaderInterlockARB (OpenGL features) anglebug:7279: Disabled: functions->isAtLeastGL(gl::Version(4, 5)) && functions->hasGLExtension("GL_ARB_fragment_shader_interlock") GL context supports ARB_fragment_shader_interlock extension supportsFragmentShaderInterlockNV (OpenGL features) anglebug:7279: Disabled: functions->isAtLeastGL(gl::Version(4, 3)) && functions->hasGLExtension("GL_NV_fragment_shader_interlock") GL context supports NV_fragment_shader_interlock extension supportsFragmentShaderOrderingINTEL (OpenGL features) anglebug:7279: Disabled: functions->isAtLeastGL(gl::Version(4, 4)) && functions->hasGLExtension("GL_INTEL_fragment_shader_ordering") GL context supports GL_INTEL_fragment_shader_ordering extension syncVertexArraysToDefault (OpenGL workarounds) anglebug:5577: Disabled: !nativegl::SupportsVertexArrayObjects(functions) Only use the default VAO because of missing support or driver bugs unbindFBOBeforeSwitchingContext (OpenGL workarounds) 1181193: Disabled: IsPowerVR(vendor) Imagination GL drivers are buggy with context switching. unfoldShortCircuits (OpenGL workarounds) anglebug:482: Enabled: IsApple() Mac incorrectly executes both sides of && and || expressions when they should short-circuit. unpackLastRowSeparatelyForPaddingInclusion (OpenGL workarounds) anglebug:1512: Enabled: IsApple() || isNvidia When uploading textures from an unpack buffer, some drivers count an extra row padding unpackOverlappingRowsSeparatelyUnpackBuffer (OpenGL workarounds): Disabled: isNvidia In the case of unpacking from a pixel unpack buffer, unpack overlapping rows row by row unsizedSRGBReadPixelsDoesntTransform (OpenGL workarounds) 550292: Disabled: IsAndroid() && isQualcomm Drivers returning raw sRGB values instead of linearized values when calling glReadPixels on unsized sRGB texture formats uploadTextureDataInChunks (OpenGL workarounds) 1181068: Enabled: IsApple() Upload texture data in <120kb chunks to work around Mac driver hangs and crashes. useUnusedBlocksWithStandardOrSharedLayout (OpenGL workarounds): Enabled: (IsApple() && functions->standard == STANDARD_GL_DESKTOP) || (IsLinux() && isAMD) Unused std140 or shared uniform blocks will be treated as inactive vertexIDDoesNotIncludeBaseVertex (OpenGL workarounds): Disabled: IsApple() && isAMD gl_VertexID in GLSL vertex shader doesn't include base vertex value DAWN Info

Metal backend - Apple M1 [Default Toggle Names] always_resolve_into_zero_level_and_layer: https://crbug.com/dawn/56: When the resolve target is a texture view that is created on the non-zero level or layer of a texture, we first resolve into a temporarily 2D texture with only one mipmap level and one array layer, and copy the result of MSAA resolve into the true resolve target. This workaround is enabled by default on the Metal drivers that have bugs when setting non-zero resolveLevel or resolveSlice. lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource. metal_enable_vertex_pulling: https://crbug.com/dawn/480: Uses vertex pulling to protect out-of-bounds reads on Metal disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet. [WebGPU Forced Toggles - enabled] disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process. [Supported Features] texture-compression-bc texture-compression-etc2 texture-compression-astc depth-clip-control depth32float-stencil8 indirect-first-instance dawn-internal-usages multiplanar-formats dawn-native Vulkan backend - SwiftShader Device (LLVM 10.0.0) [Default Toggle Names] lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource. use_temporary_buffer_in_texture_to_texture_copy: https://crbug.com/dawn/42: Split texture-to-texture copy into two copies: copy from source texture into a temporary buffer, and copy from the temporary buffer into the destination texture when copying between compressed textures that don't have block-aligned sizes. This workaround is enabled by default on all Vulkan drivers to solve an issue in the Vulkan SPEC about the texture-to-texture copies with compressed formats. See #1005 (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more details. vulkan_use_d32s8: https://crbug.com/dawn/286: Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When available the backend will use D32S8 (toggle to on) but setting the toggle to off will make it use the D24S8 format when possible. vulkan_use_s8: https://crbug.com/dawn/666: Vulkan has a pure stencil8 format but it is not universally available. When this toggle is on, the backend will use S8 for the stencil8 format, otherwise it will fallback to D32S8 or D24S8. disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren't considered secure yet. use_vulkan_zero_initialize_workgroup_memory_extension: https://crbug.com/dawn/1302: Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan extension VK_KHR_zero_initialize_workgroup_memory is supported. [WebGPU Forced Toggles - enabled] disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules. This is useful to prevent a Chromium renderer process from successfully sending SPIR-V code to be compiled in the GPU process. [Supported Features] texture-compression-bc texture-compression-etc2 texture-compression-astc timestamp-query depth-clip-control depth32float-stencil8 indirect-first-instance dawn-internal-usages dawn-native Version Information Data exported 2022-09-04T14:08:50.447Z Chrome version Chrome/107.0.5253.0 Operating system Mac OS X 12.5.1 Software rendering list URL https://chromium.googlesource.com/chromium/src/+/caf9fc91a6d225b0c5deb22ca9e17eccf924b8e1/gpu/config/software_rendering_list.json Driver bug list URL https://chromium.googlesource.com/chromium/src/+/caf9fc91a6d225b0c5deb22ca9e17eccf924b8e1/gpu/config/gpu_driver_bug_list.json ANGLE commit id b9c3c5d67567 2D graphics backend Skia/107 b6a7a4a011b81b9743dbf3c50e671e55feca81e6 Command Line /Applications/Thorium.app/Contents/MacOS/Thorium --flag-switches-begin --flag-switches-end Driver Information Initialization time 569 In-process GPU false Passthrough Command Decoder true Sandboxed true GPU0 VENDOR= 0x106b [Google Inc. (Apple)], DEVICE=0x0000 [ANGLE (Apple, Apple M1, OpenGL 4.1 Metal - 76.3)], DRIVER_VENDOR=Apple, DRIVER_VERSION=76.3 *ACTIVE* Optimus false AMD switchable false GPU CUDA compute capability major version 0 Pixel shader version 1.00 Vertex shader version 1.00 Max. MSAA samples 4 Machine model name MacBookAir Machine model version 10.1 GL_VENDOR Google Inc. (Apple) GL_RENDERER ANGLE (Apple, Apple M1, OpenGL 4.1 Metal - 76.3) GL_VERSION OpenGL ES 2.0.0 (ANGLE 2.1.1728 git hash: b9c3c5d67567) GL_EXTENSIONS GL_AMD_performance_monitor GL_ANGLE_base_vertex_base_instance GL_ANGLE_base_vertex_base_instance_shader_builtin GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_serialized_context_string GL_ANGLE_get_tex_level_parameter GL_ANGLE_instanced_arrays GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_external_update GL_ANGLE_texture_rectangle GL_ANGLE_translated_shader_source GL_APPLE_clip_distance GL_ARB_sync GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_CHROMIUM_sync_query GL_EXT_base_instance GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multi_draw_indirect GL_EXT_multisample_compatibility GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_type_2_10_10_10_REV GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_NV_depth_buffer_float2 GL_NV_fence GL_NV_framebuffer_blit GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_NV_read_depth GL_NV_read_stencil GL_OES_depth24 GL_OES_depth32 GL_OES_depth_texture GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_3D GL_OES_texture_border_clamp GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_texture_stencil8 GL_OES_vertex_array_object Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_MESA_framebuffer_flip_y Disabled WebGL Extensions Window system binding vendor Window system binding version Window system binding extensions Direct rendering version unknown Reset notification strategy 0x0000 GPU process crash count 0 gfx::BufferFormats supported for allocation and texturing R_8: not supported, R_16: not supported, RG_88: not supported, RG_1616: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRA_1010102: not supported, RGBA_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported Compositor Information Tile Update Mode Zero-copy Partial Raster Enabled GpuMemoryBuffers Status R_8 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, SCANOUT_VEA_CPU_READ, SCANOUT_FRONT_RENDERING R_16 Software only RG_88 Software only RG_1616 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, SCANOUT_VEA_CPU_READ, SCANOUT_FRONT_RENDERING RGBA_8888 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, SCANOUT_VEA_CPU_READ, SCANOUT_FRONT_RENDERING BGRX_8888 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, SCANOUT_VEA_CPU_READ, SCANOUT_FRONT_RENDERING BGRA_1010102 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, SCANOUT_VEA_CPU_READ, SCANOUT_FRONT_RENDERING RGBA_1010102 Software only BGRA_8888 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, SCANOUT_VEA_CPU_READ, SCANOUT_FRONT_RENDERING RGBA_F16 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, SCANOUT_VEA_CPU_READ, SCANOUT_FRONT_RENDERING YVU_420 Software only YUV_420_BIPLANAR GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, SCANOUT_VEA_CPU_READ, SCANOUT_FRONT_RENDERING P010 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, SCANOUT_VEA_CPU_READ, SCANOUT_FRONT_RENDERING Display(s) Information Info Display[2] bounds=[0,0 2560x1440], workarea=[0,25 2560x1415], scale=2, rotation=0, panel_rotation=0 external. Color space (all) {primaries:P3, transfer:0.0777*x + 0.0000 if x < 0.0450 else (0.9478*x + 0.0522)**2.4001 + 0.0002, matrix:RGB, range:FULL} Buffer format (all) RGBA_8888 SDR white level in nits 203 HDR relative maximum luminance 1 Bits per color component 8 Bits per pixel 24 Refresh Rate in Hz 59 Info Display[1] bounds=[2560,540 1440x900], workarea=[2560,565 1440x875], scale=2, rotation=0, panel_rotation=0 internal. Color space (SDR) {primaries:P3, transfer:0.0777*x + 0.0000 if x < 0.0450 else (0.9478*x + 0.0522)**2.4001 + 0.0002, matrix:RGB, range:FULL} Buffer format (SDR) RGBA_8888 Color space (HDR) {primaries:BT709, transfer:SRGB_HDR, matrix:RGB, range:FULL} Buffer format (HDR) RGBA_F16 SDR white level in nits 203 HDR relative maximum luminance 1.0625 Bits per color component 10 Bits per pixel 30 Refresh Rate in Hz 60 Video Acceleration Information Decoding Decode h264 baseline 16x16 to 4096x4096 pixels Decode h264 extended 16x16 to 4096x4096 pixels Decode h264 main 16x16 to 4096x4096 pixels Decode h264 high 16x16 to 4096x4096 pixels Decode vp9 profile0 16x16 to 4096x4096 pixels Decode vp9 profile2 16x16 to 4096x4096 pixels Decode hevc main 16x16 to 8192x8192 pixels Decode hevc main 10 16x16 to 8192x8192 pixels Decode hevc main still-picture 16x16 to 8192x8192 pixels Decode hevc range extensions 16x16 to 8192x8192 pixels Encoding Encode h264 baseline 0x0 to 4096x2160 pixels, and/or 30.000 fps Encode h264 main 0x0 to 4096x2160 pixels, and/or 30.000 fps Encode h264 high 0x0 to 4096x2160 pixels, and/or 30.000 fps Vulkan Information Device Performance Information Log Messages
Alex313031 commented 2 years ago

@aaykut Yes could you also provide a screenshot. I only need the first two pages. None of the video encoding stuff or SCANOUT stuff at the bottom. So can you send a screenshot of the page when it loads, and then scroll down so that the end of the previous page is at the top (one full page scroll), and then send a screenshot of that.

Also, what chrome://flags do you have toggled, if any?

You might be able to fix this by disabling opengl and enabling metal, that way 3d rasterization uses native apple metal calls, rather than translating opengl. (Stupid decision to deprecate OpenGL in macos 11.1, when every other platform as well as WebGL uses it)

aaykut commented 2 years ago

@Alex313031 sure, see below for the screen shots -- are these enough? I have no chrome://flags toggled, using it as-is out of the box. Could you please tell me how to disable opengl and enable metal? Thanks.

image image
toooonyy commented 2 years ago

@Alex313031 If you're really interested, it's in the flags, just search for metal. But from my own experience, the performance is quite poor I would say,. Added: Sry, even with this flag, in chrome://gpu page metal is still disable.

Screen Shot 2022-09-08 at 11 28 32

I switch to metal backend, that website is still lagging as hell.

Screen Shot 2022-09-08 at 11 29 00
aaykut commented 2 years ago

@Alex313031 : fyi, these problems still persist with M107.0.5279.0

da-brad commented 2 years ago

@toooonyy have you tried d3d11on12 for the ANGLE backend?

toooonyy commented 2 years ago

@toooonyy have you tried d3d11on12 for the ANGLE backend?

Well this is mac.

Alex313031 commented 2 years ago

@aaykut @toooonyy @da-brad I might try making a build for MacOS with the optimizations disabled. If that fixes it, then I can re add them one by one until it triggers it again.

Alex313031 commented 2 years ago

@toooonyy @da-brad @aaykut @midzer See if latest release fixes issues.

toooonyy commented 2 years ago

It's quite smooth on that website now https://vxintel.io/ with this build, thanks for the effort!

aaykut commented 2 years ago

@Alex313031 vxintel.io works, but sheets are still broken.

gotschi commented 2 years ago

the vxintel page works fine for me (landing page at least)

where I see regular crashes is at the Cloudflare analytics page. (https://dash.cloudflare.com/session/yourdomain/analytics

EDIT, after @gz83 's comment: the analytics page works fine now. thanks!

gz83 commented 1 year ago

@gotschi @toooonyy @aaykut @da-brad

Please check if the new version solves the problem you encountered

Alex313031 commented 1 year ago

@gotschi @toooonyy @aaykut @da-brad Yeah should be fixed in latest M111 release.