Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with the ui #428

Closed
5 tasks done
Sureshgorai25 opened this issue Oct 19, 2023 · 13 comments
Closed
5 tasks done

Issue with the ui #428

Sureshgorai25 opened this issue Oct 19, 2023 · 13 comments

Comments

@Sureshgorai25
Copy link

Sureshgorai25 commented Oct 19, 2023

Preliminary checklist

  • I have read the README.
  • I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue.
  • I have read the FAQs.
  • I have updated Cromite to the latest version. The bug is reproducible on this latest version.
  • This is a bug report about the Cromite browser; not the website nor F-Droid nor anything else.

Can the bug be reproduced with corresponding Chromium version?

Yes

Cromite version

Latest

Device architecture

arm64-v8a

Platform version

Android 13

Android Device model

Motorola G54 5G (Cancuf)

Is the device rooted?

No

Changed flags

No flags changed

Is this bug happening in an incognito tab?

No

Is this bug caused by the adblocker?

No

Is this bug a crash?

No

Describe the bug

I'm facing issues with the ui, for examples images, texts etc.
This was fine in earlier versions of chromite, I don't know what's the reason but I also faced this yesterday and I had to clear data of the browser to fix it
I'm sharing some images hope you can see this

Details

Screenshot_20231019-065738

Steps to reproduce the bug

Open any sites like www.youtube.com or www.github.con

Expected behavior

The images, icons and texts aren't clear and it's not bcz of my network problem bcz it's fine in other browsers

Screenshots

Details

Screenshot_20231019-065738
Screenshot_20231019-065709
Screenshot_20231019-065451

@uazo
Copy link
Owner

uazo commented Oct 19, 2023

unfortunately, there is no such device in browserstack.

I can only think of a problem with the graphics driver.

Carl seemed to be well versed in the subject, I know nothing about it.
try sending the result of chrome://gpu/

@uazo uazo added the awaiting info Further information is requested label Oct 19, 2023
@Sureshgorai25
Copy link
Author

Sureshgorai25 commented Oct 19, 2023

about-gpu-2023-10-19T07-44-59-904Z.txt.zip
I'm not facing the issue RN after clearing data

Details

Graphics Feature Status

  • Canvas: Hardware accelerated
  • Canvas out-of-process rasterization: Enabled
  • Direct Rendering Display Compositor: Enabled
  • Compositing: Hardware accelerated
  • Multiple Raster Threads: Disabled
  • OpenGL: Enabled
  • Rasterization: Hardware accelerated
  • Raw Draw: Disabled
  • Skia Graphite: Disabled
  • Surface Control: Enabled
  • Video Decode: Hardware accelerated
  • Video Encode: Hardware accelerated
  • Vulkan: Disabled
  • WebGL: Hardware accelerated
  • WebGL2: Hardware accelerated
  • WebGPU: Disabled

Driver Bug Workarounds

  • avoid_one_component_egl_images
  • clear_uniforms_before_first_program_use
  • dont_delete_source_texture_for_egl_image
  • force_enable_color_buffer_float_except_rgb32f
  • max_msaa_sample_count_4
  • remove_dynamic_indexing_of_swizzled_vector
  • unbind_fbo_on_context_switch
  • use_virtualized_gl_contexts
  • webgl_or_caps_max_texture_size_limit_4096
  • disabled_extension_GL_KHR_blend_equation_advanced
  • disabled_extension_GL_KHR_blend_equation_advanced_coherent

Problems Detected

  • WebGPU has been disabled via blocklist or the command line.
    Disabled Features: webgpu

  • Raster is using a single thread.
    Disabled Features: multiple_raster_threads

  • Imagination drivers are buggy with context switching:
    (http://crbug.com/230896)
    Applied Workarounds: unbind_fbo_on_context_switch

  • Share group-related crashes and poor context switching perf on Imagination drivers
    Applied Workarounds: use_virtualized_gl_contexts

  • Clear uniforms before first program use on all platforms:
    (http://crbug.com/124764), (http://crbug.com/349137)
    Applied Workarounds: clear_uniforms_before_first_program_use

  • Limit max texure size to 4096 on all of Android
    Applied Workarounds: webgl_or_caps_max_texture_size_limit_4096

  • eglCreateImageKHR fails for one component textures on PowerVR:
    (http://crbug.com/579060), (http://crbug.com/632461)
    Applied Workarounds: avoid_one_component_egl_images

  • Disable KHR_blend_equation_advanced until cc shaders are updated:
    (http://crbug.com/661715)
    Applied Workarounds: disable(GL_KHR_blend_equation_advanced),
    disable(GL_KHR_blend_equation_advanced_coherent)

  • Limit MSAA to 4x on Android devices:
    (http://crbug.com/797243)
    Applied Workarounds: max_msaa_sample_count_4

  • Remove dynamic indexing for swizzled vectors on Android:
    (http://crbug.com/709351)
    Applied Workarounds: remove_dynamic_indexing_of_swizzled_vector

  • Some drivers seem to require as to use original texture whenever possible:
    (http://crbug.com/1052114), (http://crbug.com/1117370)
    Applied Workarounds: dont_delete_source_texture_for_egl_image

  • Always assume float formats are renderable on Android except RGB32F:
    (http://crbug.com/1127387)
    Applied Workarounds: force_enable_color_buffer_float_except_rgb32f

ANGLE Features

  • allowCompressedFormats (Frontend workarounds): Enabled
    condition: true
    Allow compressed formats

  • cacheCompiledShader (Frontend features) (http://anglebug.com/7036): Disabled
    Enable to cache compiled shaders

  • disableAnisotropicFiltering (Frontend workarounds): Disabled
    Disable support for anisotropic filtering

  • disableDrawBuffersIndexed (Frontend features) (http://anglebug.com/7724): Disabled
    Disable support for OES_draw_buffers_indexed and EXT_draw_buffers_indexed

  • disableProgramBinary (Frontend features) (http://anglebug.com/5007): Disabled
    condition: IsPowerVrRogue(functions)
    Disable support for GL_OES_get_program_binary

  • disableProgramCaching (Frontend features) (http://anglebug.com/1423136): Disabled
    Disables saving programs to the cache

  • disableProgramCachingForTransformFeedback (Frontend workarounds): Disabled
    condition: !isMesa && isQualcomm
    On some GPUs, program binaries don't contain transform feedback varyings

  • dumpShaderSource (Frontend features) (http://anglebug.com/7760): Disabled
    Write shader source to temp directory

  • dumpTranslatedShaders (Frontend features) (http://anglebug.com/8280): Disabled
    Write translated shaders to temp directory

  • emulatePixelLocalStorage (Frontend features) (http://anglebug.com/7279): Enabled
    condition: true
    Emulate ANGLE_shader_pixel_local_storage using shader images

  • enableCaptureLimits (Frontend features) (http://anglebug.com/5750): Disabled
    Set the context limits like frame capturing was enabled

  • enableProgramBinaryForCapture (Frontend features) (http://anglebug.com/5658): Disabled
    Even if FrameCapture is enabled, enable GL_OES_get_program_binary

  • enableShaderSubstitution (Frontend workarounds) (http://anglebug.com/7761): Disabled
    Check the filesystem for shaders to use instead of those provided through
    glShaderSource

  • enableTranslatedShaderSubstitution (Frontend workarounds) (http://anglebug.com/8280): Disabled
    Check the filesystem for translated shaders to use instead of the shader
    translator's

  • forceDepthAttachmentInitOnClear (Frontend workarounds) (https://anglebug.com/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) (http://anglebug.com/6041): Disabled
    Force-enable robust resource init

  • loseContextOnOutOfMemory (Frontend workarounds): Enabled
    condition: true
    Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error
    occurs

  • singleThreadedTextureDecompression (Frontend workarounds): Disabled
    Disables multi-threaded decompression of compressed texture formats

  • RGBA4IsNotSupportedForColorRendering (OpenGL workarounds): Disabled
    condition: functions->standard == STANDARD_GL_DESKTOP && isIntel
    GL_RGBA4 is not color renderable

  • RGBDXT1TexturesSampleZeroAlpha (OpenGL workarounds) (http://anglebug.com/3729): Disabled
    condition: IsApple()
    Sampling BLACK texels from RGB DXT1 textures returns transparent black on
    Mac.

  • addAndTrueToLoopCondition (OpenGL workarounds): Disabled
    condition: IsApple() && isIntel
    Calculation of loop conditions in for and while loop has bug

  • adjustSrcDstRegionForBlitFramebuffer (OpenGL workarounds) (http://crbug.com/830046): Disabled
    condition: 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
    condition: !isMesa || isIntel && (Is9thGenIntel(device) || IsGeminiLake(device) || IsCoffeeLake(device) || Is11thGenIntel(device) || Is12thGenIntel(device))
    Enable ASTC on desktop OpenGL

  • allowClearForRobustResourceInit (OpenGL workarounds) (https://crbug.com/848952 http://crbug.com/883276): Disabled
    condition: 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
    condition: isIntel && !IsSandyBridge(device) && !IsIvyBridge(device) && !IsHaswell(device)
    Enable ETC2/EAC on desktop OpenGL

  • alwaysCallUseProgramAfterLink (OpenGL workarounds) (http://crbug.com/110263): Enabled
    condition: true
    Always call useProgram after a successful link to avoid a driver bug

  • alwaysUnbindFramebufferTexture2D (OpenGL workarounds) (https://anglebug.com/5536): Disabled
    condition: isNvidia && (IsWindows() || IsLinux())
    Force unbind framebufferTexture2D before binding renderbuffer to work
    around driver bug.

  • avoid1BitAlphaTextureFormats (OpenGL workarounds): Disabled
    condition: functions->standard == STANDARD_GL_DESKTOP && isAMD
    Issue with 1-bit alpha framebuffer formats

  • bindCompleteFramebufferForTimerQueries (OpenGL workarounds) (https://crbug.com/1356053): Disabled
    condition: isMali
    Some drivers require a complete framebuffer when beginQuery for
    TimeElapsed orTimestampis called.

  • bindTransformFeedbackBufferBeforeBindBufferRange (OpenGL workarounds) (https://anglebug.com/5140): Disabled
    condition: IsApple()
    Bind transform feedback buffers to the generic binding point before
    calling glBindBufferBase or glBindBufferRange.

  • clampArrayAccess (OpenGL workarounds) (http://anglebug.com/2978): Enabled
    condition: IsAndroid() || isAMD || !functions->hasExtension("GL_KHR_robust_buffer_access_behavior")
    Clamp uniform array access to avoid reading invalid memory.

  • clampFragDepth (OpenGL workarounds): Disabled
    condition: isNvidia
    gl_FragDepth is not clamped correctly when rendering to a floating point
    depth buffer

  • clampMscRate (OpenGL workarounds) (https://crbug.com/1042393): Disabled
    condition: IsLinux() && IsWayland()
    Some drivers return bogus values for GetMscRate, so we clamp it to 30Hz

  • clampPointSize (OpenGL workarounds): Enabled
    condition: IsAndroid() || isNvidia
    The point size range reported from the API is inconsistent with the actual
    behavior

  • clearToZeroOrOneBroken (OpenGL workarounds) (https://crbug.com/710443): Disabled
    condition: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 6)
    Clears when the clear color is all zeros or ones do not work.

  • clipSrcRegionForBlitFramebuffer (OpenGL workarounds) (http://crbug.com/830046): Disabled
    condition: IsApple() || (IsLinux() && isAMD)
    Issues with blitFramebuffer when the parameters don't match the
    framebuffer size.

  • decodeEncodeSRGBForGenerateMipmap (OpenGL workarounds) (http://anglebug.com/4646): Disabled
    condition: IsApple()
    Decode and encode before generateMipmap for srgb format textures.

  • disableBaseInstanceVertex (OpenGL workarounds) (http://anglebug.com/8172): Disabled
    condition: IsMaliValhall(functions)
    Some drivers have buggy implementations of glDrawBaseVertex.

  • disableBlendFuncExtended (OpenGL workarounds) (http://anglebug.com/1085): Disabled
    condition: (!isMesa && isQualcomm) || (IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 14, 0))
    ARB_blend_func_extended does not pass the tests

  • disableClipControl (OpenGL features) (http://crbug.com/1434317): Disabled
    condition: IsMaliG72OrG76OrG51(functions)
    Some devices genenerate errors when querying the clip control state

  • disableDrawBuffersIndexed (OpenGL workarounds): Disabled
    condition: IsWindows() && isAMD
    Disable OES_draw_buffers_indexed extension.

  • disableGPUSwitchingSupport (OpenGL workarounds) (https://crbug.com/1091824): Disabled
    condition: isDualGPUMacWithNVIDIA
    Disable GPU switching support (use only the low-power GPU) on older
    MacBook Pros.

  • disableMultisampledRenderToTexture (OpenGL workarounds) (http://anglebug.com/2894): Enabled
    condition: isAdreno4xxOnAndroidLessThan51 || isAdreno4xxOnAndroid70 || isAdreno5xxOnAndroidLessThan70 || isAdreno5xxOnAndroid71 || isLinuxVivante || IsAndroid() || isWindowsNVIDIA
    Many drivers have bugs when using GL_EXT_multisampled_render_to_texture

  • disableNativeParallelCompile (OpenGL workarounds) (http://crbug.com/1094869): Disabled
    condition: isTSANBuild && IsLinux() && isNvidia
    Do not use native KHR_parallel_shader_compile even when available.

  • disableRenderSnorm (OpenGL workarounds) (https://anglebug.com/8315): Disabled
    condition: isMesa && (mesaVersion < (std::array<int, 3>{21, 3, 0}) || functions->standard == STANDARD_GL_ES)
    Disable EXT_render_snorm extension.

  • disableSemaphoreFd (OpenGL workarounds) (https://crbug.com/1046462): Disabled
    condition: IsLinux() && isAMD && isMesa && mesaVersion < (std::array<int, 3>{19, 3, 5})
    Disable GL_EXT_semaphore_fd extension

  • disableSyncControlSupport (OpenGL workarounds) (https://crbug.com/1137851): Disabled
    condition: 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) (https://anglebug.com/7405): Enabled
    condition: isImagination
    Imagination devices generate INVALID_ENUM when setting the texture border
    color.

  • disableTextureMirrorClampToEdge (OpenGL workarounds) (https://anglebug.com/8319): Disabled
    condition: functions->standard == STANDARD_GL_ES && isMesa
    Disable EXT_texture_mirror_clamp_to_edge extension.

  • disableTimestampQueries (OpenGL workarounds) (https://crbug.com/811661): Disabled
    condition: (IsLinux() && isVMWare) || (IsAndroid() && isNvidia) || (IsAndroid() && GetAndroidSdkLevel() < 27 && IsAdreno5xxOrOlder(functions)) || (!isMesa && IsMaliT8xxOrOlder(functions)) || (!isMesa && IsMaliG31OrOlder(functions))
    Disable GL_EXT_disjoint_timer_query extension

  • doWhileGLSLCausesGPUHang (OpenGL workarounds) (http://crbug.com/644669): Disabled
    condition: 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
    condition: isIntel || isAMD
    Issue clearing framebuffers with linear attachments when
    GL_FRAMEBUFFER_SRGB is enabled

  • dontInitializeUninitializedLocals (OpenGL workarounds) (http://anglebug.com/2046): Disabled
    condition: !isMesa && isQualcomm
    Initializing uninitialized locals caused odd behavior in a few WebGL 2
    tests

  • dontUseLoopsToInitializeVariables (OpenGL workarounds) (http://crbug.com/809422): Disabled
    condition: (!isMesa && isQualcomm) || (isIntel && IsApple())
    For loops used to initialize variables hit native GLSL compiler bugs

  • emulateAbsIntFunction (OpenGL workarounds) (http://crbug.com/642227): Disabled
    condition: IsApple() && isIntel
    abs(i) where i is an integer returns unexpected result

  • emulateAtan2Float (OpenGL workarounds) (http://crbug.com/672380): Disabled
    condition: isNvidia
    atan(y, x) may return a wrong answer

  • emulateClipDistanceState (OpenGL workarounds): Disabled
    condition: isQualcomm
    Some drivers ignore GL_CLIP_DISTANCEi_EXT state.

  • emulateCopyTexImage2D (OpenGL workarounds): Disabled
    condition: isApple
    Replace CopyTexImage2D with TexImage2D + CopyTexSubImage2D.

  • emulateCopyTexImage2DFromRenderbuffers (OpenGL workarounds) (https://anglebug.com/4674): Disabled
    condition: IsApple() && functions->standard == STANDARD_GL_ES && !(isAMD && IsWindows())
    CopyTexImage2D spuriously returns errors on iOS when copying from
    renderbuffers.

  • emulateImmutableCompressedTexture3D (OpenGL workarounds) (https://crbug.com/1060012): Disabled
    condition: isQualcomm
    Use non-immutable texture allocation to work around a driver bug.

  • emulateIsnanFloat (OpenGL workarounds) (http://crbug.com/650547): Disabled
    condition: isIntel && IsApple() && IsSkylake(device) && GetMacOSVersion() < OSVersion(10, 13, 2)
    Using isnan() on highp float will get wrong answer

  • emulateMaxVertexAttribStride (OpenGL workarounds) (http://anglebug.com/1936): Disabled
    condition: IsLinux() && functions->standard == STANDARD_GL_DESKTOP && isAMD
    Some drivers return 0 when MAX_VERTEX_ATTRIB_STRIED queried

  • emulatePackSkipRowsAndPackSkipPixels (OpenGL workarounds) (https://anglebug.com/4849): Disabled
    condition: IsApple()
    GL_PACK_SKIP_ROWS and GL_PACK_SKIP_PIXELS are ignored in Apple's OpenGL
    driver.

  • emulatePrimitiveRestartFixedIndex (OpenGL workarounds) (http://anglebug.com/3997): Disabled
    condition: 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) (https://crbug.com/1300575): Disabled
    condition: functions->standard == STANDARD_GL_DESKTOP
    Emulate RGB10 support using RGB10_A2.

  • ensureNonEmptyBufferIsBoundForDraw (OpenGL features) (http://crbug.com/1456243): Enabled
    condition: IsApple() || IsAndroid()
    Apple OpenGL drivers crash when drawing with a zero-sized buffer bound
    using a non-zero divisor.

  • explicitFragmentLocations (OpenGL workarounds) (https://anglebug.com/8308): Disabled
    condition: isQualcomm
    Always write explicit location layout qualifiers for fragment outputs.

  • finishDoesNotCauseQueriesToBeAvailable (OpenGL workarounds): Disabled
    condition: functions->standard == STANDARD_GL_DESKTOP && isNvidia
    glFinish doesn't cause all queries to report available result

  • flushBeforeDeleteTextureIfCopiedTo (OpenGL workarounds) (http://anglebug.com/4267): Disabled
    condition: IsApple() && isIntel
    Some drivers track CopyTex{Sub}Image texture dependencies incorrectly.
    Flush before glDeleteTextures in this case

  • flushOnFramebufferChange (OpenGL workarounds) (http://crbug.com/1181068): Disabled
    condition: IsApple() && Has9thGenIntelGPU(systemInfo)
    Switching framebuffers without a flush can lead to crashes on Intel 9th
    Generation GPU Macs.

  • initFragmentOutputVariables (OpenGL workarounds) (http://crbug.com/1171371): Disabled
    condition: IsAdreno42xOr3xx(functions)
    No init gl_FragColor causes context lost

  • initializeCurrentVertexAttributes (OpenGL workarounds): Disabled
    condition: isNvidia
    During initialization, assign the current vertex attributes to the
    spec-mandated defaults

  • keepBufferShadowCopy (OpenGL workarounds): Disabled
    condition: !CanMapBufferForRead(functions)
    Maintain a shadow copy of buffer data when the GL API does not permit
    reading data back.

  • limitMax3dArrayTextureSizeTo1024 (OpenGL workarounds) (http://crbug.com/927470): Disabled
    condition: limitMaxTextureSize
    Limit max 3d texture size and max array texture layers to 1024 to avoid
    system hang

  • limitMaxMSAASamplesTo4 (OpenGL workarounds) (http://crbug.com/797243): Enabled
    condition: IsAndroid() || (IsApple() && (isIntel || isAMD || isNvidia))
    Various rendering bugs have been observed when using higher MSAA counts

  • limitWebglMaxTextureSizeTo4096 (OpenGL workarounds) (http://crbug.com/927470): Enabled
    condition: IsAndroid() || limitMaxTextureSize
    Limit webgl max texture size to 4096 to avoid frequent out-of-memory
    errors

  • packLastRowSeparatelyForPaddingInclusion (OpenGL workarounds) (http://anglebug.com/1512): Disabled
    condition: IsApple() || isNvidia
    When uploading textures from an pack buffer, some drivers count an extra
    row padding

  • packOverlappingRowsSeparatelyPackBuffer (OpenGL workarounds): Disabled
    condition: isNvidia
    In the case of packing to a pixel pack buffer, pack overlapping rows row
    by row

  • passHighpToPackUnormSnormBuiltins (OpenGL workarounds) (http://anglebug.com/7527): Disabled
    condition: isQualcomm
    packUnorm4x8 fails on Pixel 4 if it is not passed a highp vec4.

  • preAddTexelFetchOffsets (OpenGL workarounds) (http://crbug.com/642605): Disabled
    condition: 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) (http://anglebug.com/5469): Disabled
    condition: IsApple() && hasAMD
    Packed color formats are buggy on Macs with AMD GPUs

  • queryCounterBitsGeneratesErrors (OpenGL workarounds) (http://anglebug.com/3027): Disabled
    condition: IsNexus5X(vendor, device)
    Drivers generate errors when querying the number of bits in timer queries

  • readPixelsUsingImplementationColorReadFormatForNorm16 (OpenGL workarounds) (http://anglebug.com/4214): Enabled
    condition: !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) (http://anglebug.com/1637): Enabled
    condition: isAMD || IsAndroid()
    Some drivers forget about UBO bindings when using program binaries

  • regenerateStructNames (OpenGL workarounds) (http://crbug.com/403957): Disabled
    condition: IsApple()
    All Mac drivers do not handle struct scopes correctly. This workaround
    overwrites a structname with a unique prefix.

  • removeDynamicIndexingOfSwizzledVector (OpenGL workarounds) (http://crbug.com/709351): Enabled
    condition: IsApple() || IsAndroid() || IsWindows()
    Dynamic indexing of swizzled l-values doesn't work correctly on various
    platforms.

  • removeInvariantAndCentroidForESSL3 (OpenGL workarounds): Disabled
    condition: 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) (https://crbug.com/705865): Disabled
    condition: IsApple() && isIntel && GetMacOSVersion() >= OSVersion(10, 12, 4)
    Reset texture base level before calling glTexImage2D to work around pixel
    comparison failure.

  • rewriteFloatUnaryMinusOperator (OpenGL workarounds) (http://crbug.com/308366): Disabled
    condition: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 0)
    Using '-' will get wrong answer

  • rewriteRepeatedAssignToSwizzled (OpenGL workarounds): Disabled
    condition: isNvidia
    Repeated assignment to swizzled values inside a GLSL user-defined function
    have incorrect results

  • rewriteRowMajorMatrices (OpenGL workarounds) (http://anglebug.com/2273): Disabled
    condition: false
    Rewrite row major matrices in shaders as column major as a driver bug
    workaround

  • sanitizeAMDGPURendererString (OpenGL workarounds) (http://crbug.com/1181193): Disabled
    condition: IsLinux() && hasAMD
    Strip precise kernel and DRM version information from amdgpu renderer
    strings.

  • scalarizeVecAndMatConstructorArgs (OpenGL workarounds) (http://crbug.com/1420130): Disabled
    condition: isMali
    Rewrite vec/mat constructors to work around driver bugs

  • setPrimitiveRestartFixedIndexForDrawArrays (OpenGL workarounds) (http://anglebug.com/3997): Disabled
    condition: 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): Disabled
    condition: IsApple()
    glGenerateMipmap fails if the zero texture level is not set on some Mac
    drivers.

  • shiftInstancedArrayDataWithOffset (OpenGL workarounds) (http://crbug.com/1144207): Disabled
    condition: IsApple() && IsIntel(vendor) && !IsHaswell(device)
    glDrawArraysInstanced is buggy on certain new Mac Intel GPUs

  • supportsFragmentShaderInterlockARB (OpenGL features) (http://anglebug.com/7279): Disabled
    condition: functions->isAtLeastGL(gl::Version(4, 5)) && functions->hasGLExtension("GL_ARB_fragment_shader_interlock")
    Backend GL context supports ARB_fragment_shader_interlock extension

  • supportsFragmentShaderInterlockNV (OpenGL features) (http://anglebug.com/7279): Disabled
    condition: functions->isAtLeastGL(gl::Version(4, 3)) && functions->hasGLExtension("GL_NV_fragment_shader_interlock")
    Backend GL context supports NV_fragment_shader_interlock extension

  • supportsFragmentShaderOrderingINTEL (OpenGL features) (http://anglebug.com/7279): Disabled
    condition: functions->isAtLeastGL(gl::Version(4, 4)) && functions->hasGLExtension("GL_INTEL_fragment_shader_ordering")
    Backend GL context supports GL_INTEL_fragment_shader_ordering extension

  • supportsShaderFramebufferFetchEXT (OpenGL features) (http://anglebug.com/7279): Enabled
    condition: functions->hasGLESExtension("GL_EXT_shader_framebuffer_fetch")
    Backend GL context supports EXT_shader_framebuffer_fetch extension

  • supportsShaderFramebufferFetchNonCoherentEXT (OpenGL features) (http://anglebug.com/7279): Disabled
    condition: functions->hasGLESExtension("GL_EXT_shader_framebuffer_fetch_non_coherent")
    Backend GL context supports EXT_shader_framebuffer_fetch_non_coherent
    extension

  • supportsShaderPixelLocalStorageEXT (OpenGL features) (http://anglebug.com/7279): Enabled
    condition: functions->hasGLESExtension("GL_EXT_shader_pixel_local_storage")
    Backend GL context supports EXT_shader_pixel_local_storage extension

  • syncVertexArraysToDefault (OpenGL workarounds) (http://anglebug.com/5577): Disabled
    condition: !nativegl::SupportsVertexArrayObjects(functions)
    Only use the default VAO because of missing support or driver bugs

  • unbindFBOBeforeSwitchingContext (OpenGL workarounds) (http://crbug.com/1181193): Enabled
    condition: IsPowerVR(vendor)
    Imagination GL drivers are buggy with context switching.

  • unfoldShortCircuits (OpenGL workarounds) (http://anglebug.com/482): Disabled
    condition: IsApple()
    Mac incorrectly executes both sides of && and || expressions when they
    should short-circuit.

  • unpackLastRowSeparatelyForPaddingInclusion (OpenGL workarounds) (http://anglebug.com/1512): Disabled
    condition: IsApple() || isNvidia
    When uploading textures from an unpack buffer, some drivers count an extra
    row padding

  • unpackOverlappingRowsSeparatelyUnpackBuffer (OpenGL workarounds): Disabled
    condition: isNvidia
    In the case of unpacking from a pixel unpack buffer, unpack overlapping
    rows row by row

  • unsizedSRGBReadPixelsDoesntTransform (OpenGL workarounds) (http://crbug.com/550292 http://crbug.com/565179): Disabled
    condition: !isMesa && isQualcomm
    Drivers returning raw sRGB values instead of linearized values when
    calling glReadPixels on unsized sRGB texture formats

  • uploadTextureDataInChunks (OpenGL workarounds) (http://crbug.com/1181068): Disabled
    condition: IsApple()
    Upload texture data in <120kb chunks to work around Mac driver hangs and
    crashes.

  • useUnusedBlocksWithStandardOrSharedLayout (OpenGL workarounds): Disabled
    condition: (IsApple() && functions->standard == STANDARD_GL_DESKTOP) || (IsLinux() && isAMD)
    Unused std140 or shared uniform blocks will be treated as inactive

  • vertexIDDoesNotIncludeBaseVertex (OpenGL workarounds): Disabled
    condition: IsApple() && isAMD
    gl_VertexID in GLSL vertex shader doesn't include base vertex value

DAWN Info

Vulkan backend - PowerVR BXM-8-256

[WebGPU Status]

  • Available

[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 Massive performance degradation #1005
    (Texture-to-texture copy issue with compressed formats KhronosGroup/Vulkan-Docs#1005) for more
    details.

  • 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.

  • use_placeholder_fragment_in_vertex_only_pipeline:
    (https://crbug.com/dawn/136):
    Use a placeholder empty fragment shader in vertex only render pipeline.
    This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and
    serves as a workaround by default enabled on some Metal devices with Intel
    GPU to ensure the depth result is correct.

[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.

[Default Supported Features]

  • depth_clip_control
  • texture_compression_ETC2
  • texture_compression_ASTC
  • indirect_first_instance
  • RG11B10_ufloat_renderable
  • dawn_internal_usages
  • dawn_multi_planar_formats
  • dawn_native
  • implicit_device_synchronization
  • surface_capabilities
  • transient_attachments
  • norm16_texture_formats

Version Information

Data exported : 2023-10-19T07:44:50.634Z
Chrome version : Chrome/118.0.5993.71
Operating system : Android 13
Software rendering list URL: https://chromium.googlesource.com/chromium/src/+/0021ff026bfbfefb5c66aa2ec647acc0b80a2c87/gpu/config/software_rendering_list.json
Driver bug list URL : https://chromium.googlesource.com/chromium/src/+/0021ff026bfbfefb5c66aa2ec647acc0b80a2c87/gpu/config/gpu_driver_bug_list.json
ANGLE commit id : 05f45adc1473
2D graphics backend : Skia/118 bd56a010b6941116cd1900276bf5201f9a9c73da
Command Line : --use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-viewport --validate-input-event-stream --enable-longpress-drag-selection --touch-selection-strategy=direction --disable-composited-antialiasing --enable-dom-distiller --flag-switches-begin --enable-smooth-scrolling --enable-features=MoveTopToolbarToBottom,ParallelDownloading,SearchReadyOmnibox --flag-switches-end --site-per-process

Driver Information

Initialization time : 142
In-process GPU : false
Passthrough Command Decoder : true
Sandboxed : false
GPU0 : VENDOR= 0x0000 [Google Inc. (Imagination Technologies)], DEVICE=0x0000 [ANGLE (Imagination Technologies, PowerVR B-Series BXM-8-256, OpenGL ES 3.2 build 1.15@6133109)], DRIVER_VENDOR=Imagination Technologies, DRIVER_VERSION=1.15 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 : moto g54 5G
Machine model version :
GL implementation parts : (gl=egl-angle,angle=opengles)
Display type : ANGLE_OPENGLES
GL_VENDOR : Google Inc. (Imagination Technologies)
GL_RENDERER : ANGLE (Imagination Technologies, PowerVR B-Series BXM-8-256, OpenGL ES 3.2 build 1.15@6133109)
GL_VERSION : OpenGL ES 2.0.0 (ANGLE 2.1.1 git hash: 05f45adc1473)
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_compressed_texture_etc 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_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_external_update GL_ANGLE_translated_shader_source GL_ARB_sync GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location 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_minmax GL_EXT_clip_control GL_EXT_color_buffer_half_float GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_draw_buffers GL_EXT_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_multi_draw_indirect GL_EXT_occlusion_query_boolean GL_EXT_polygon_offset_clamp GL_EXT_pvrtc_sRGB GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_framebuffer_fetch GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_texture_filter_anisotropic GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_unpack_subimage GL_IMG_texture_compression_pvrtc GL_KHR_debug GL_KHR_texture_compression_astc_ldr 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_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_compressed_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_get_program_binary 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_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object
Disabled Extensions : GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions :
Window system binding vendor :
Window system binding version :
Window system binding extensions:
Direct rendering version : unknown
Reset notification strategy : 0x8252
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, YUVA_420_TRIPLANAR: not supported, P010: not supported

Compositor Information

Tile Update Mode: One-copy
Partial Raster : Enabled

GpuMemoryBuffers Status

R_8 : Software only
R_16 : Software only
RG_88 : Software only
RG_1616 : Software only
BGR_565 : GPU_READ, SCANOUT
RGBA_4444 : Software only
RGBX_8888 : GPU_READ, SCANOUT
RGBA_8888 : GPU_READ, SCANOUT
BGRX_8888 : Software only
BGRA_1010102 : Software only
RGBA_1010102 : Software only
BGRA_8888 : Software only
RGBA_F16 : Software only
YVU_420 : Software only
YUV_420_BIPLANAR : Software only
YUVA_420_TRIPLANAR: Software only
P010 : Software only

Display(s) Information

Info : Display[0] bounds=[0,0 412x915], workarea=[0,0 412x915], scale=2.625, rotation=0, panel_rotation=0 external detected
Color space (all) : {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (all) : RGBA_8888
Color volume : {name:'srgb', r:[0.6400, 0.3300], g:[0.3000, 0.6000], b:[0.1500, 0.3300], w:[0.3127, 0.3290]}
SDR white level in nits : 203
HDR relative maximum luminance: 1
Bits per color component : 8
Bits per pixel : 24

Video Acceleration Information

Decoding :
Decode h264 baseline : 64x64 to 2560x1440 pixels
Decode h264 baseline : 2x2 to 2048x2048 pixels
Decode h264 baseline : 64x64 to 1920x1072 pixels (encrypted)
Decode h264 main : 2x2 to 2048x2048 pixels
Decode h264 main : 64x64 to 1920x1072 pixels (encrypted)
Decode h264 main : 64x64 to 2560x1440 pixels
Decode h264 high : 2x2 to 2048x2048 pixels
Decode h264 high : 64x64 to 1920x1072 pixels (encrypted)
Decode h264 high : 64x64 to 2560x1440 pixels
Decode h264 high 10 : 64x64 to 1920x1072 pixels (encrypted)
Decode h264 high 10 : 64x64 to 2560x1440 pixels
Decode vp9 profile0 : 16x16 to 1920x1080 pixels (encrypted)
Decode vp9 profile0 : 360x360 to 2560x1440 pixels
Decode vp9 profile1 : 16x16 to 1920x1080 pixels (encrypted)
Decode vp9 profile1 : 360x360 to 2560x1440 pixels
Decode vp9 profile2 : 2x2 to 720x1280 pixels
Decode vp9 profile2 : 2x2 to 1280x720 pixels
Decode vp9 profile2 : 16x16 to 1920x1080 pixels (encrypted)
Decode vp9 profile2 : 16x16 to 2560x1440 pixels
Decode hevc main : 16x16 to 2560x1440 pixels
Decode hevc main : 16x16 to 1920x1080 pixels (encrypted)
Decode hevc main : 2x2 to 2048x2048 pixels
Decode hevc main 10 : 16x16 to 2560x1440 pixels
Decode hevc main 10 : 16x16 to 1920x1080 pixels (encrypted)
Decode hevc main still-picture: 16x16 to 2560x1440 pixels
Decode hevc main still-picture: 16x16 to 1920x1080 pixels (encrypted)
Decode hevc main still-picture: 2x2 to 2048x2048 pixels
Encoding :
Encode h264 baseline : 160x160 to 2560x1440 pixels, and/or 960.000 fps.
Encode h264 baseline : 160x160 to 1440x2560 pixels, and/or 960.000 fps.
Encode h264 baseline : 16x16 to 1808x224 pixels, and/or 960.000 fps (software codec).
Encode h264 baseline : 16x16 to 224x1808 pixels, and/or 960.000 fps (software codec).
Encode h264 main : 160x160 to 2560x1440 pixels, and/or 960.000 fps.
Encode h264 main : 160x160 to 1440x2560 pixels, and/or 960.000 fps.
Encode h264 main : 16x16 to 1808x224 pixels, and/or 960.000 fps (software codec).
Encode h264 main : 16x16 to 224x1808 pixels, and/or 960.000 fps (software codec).
Encode h264 high : 160x160 to 2560x1440 pixels, and/or 960.000 fps.
Encode h264 high : 160x160 to 1440x2560 pixels, and/or 960.000 fps.

Vulkan Information

Device Performance Information

Log Messages

@uazo
Copy link
Owner

uazo commented Oct 19, 2023

OK, it's like I said, I don't know anything about it and I guess I can't help you.

I'm not facing the issue RN after clearing data

but then it happens again?

@uazo uazo removed the awaiting info Further information is requested label Oct 19, 2023
@Sureshgorai25
Copy link
Author

Sureshgorai25 commented Oct 19, 2023

OK, it's like I said, I don't know anything about it and I guess I can't help you.

I'm not facing the issue RN after clearing data

but then it happens again?

Yes, it happens suddenly, yesterday night I faced the same and cleared data, it was fine till morning but it again happened.
Next time it happens I'll provide you that file

@uazo
Copy link
Owner

uazo commented Oct 19, 2023

Next time it happens I'll provide you that file

no, there is no need. that file has static information about the device that is always the same.

@Sureshgorai25
Copy link
Author

It's again happening with me

@Sureshgorai25
Copy link
Author

Sureshgorai25 commented Oct 21, 2023

Next time it happens I'll provide you that file

no, there is no need. that file has static information about the device that is always the same.

Details

Screenshot_20231021-111715
Screenshot_20231021-111213

@uazo
Copy link
Owner

uazo commented Nov 2, 2023

please, keep me updated with the various releases if the bug is resolved

@Sureshgorai25
Copy link
Author

Sure, i updated to the latest version, also one of my friend suggested to enable vulkan flag. I also trying that since 2 days, haven't faced that issue yet

@uazo uazo closed this as completed Nov 13, 2023
@Sureshgorai25
Copy link
Author

Brave fixed this issue with the latest update.
brave/brave-browser#33941

@uazo
Copy link
Owner

uazo commented Dec 7, 2023

have you tried to disable chrome://flags/#use-passthrough-command-decoder ?

@Sureshgorai25
Copy link
Author

Sureshgorai25 commented Dec 7, 2023

Yes ofc and this fixed the issue.
Can you make it default choice in future?
Also I got to know that they are blocking some flags for these models, which had this issue
IMG_20231207_192538_623

@uazo
Copy link
Owner

uazo commented Dec 11, 2023

Can you make it default choice in future?

I don't know anything about the gpu process, and I don't change things I don't know.
i suggest you ask the chromium team directly. i think this is the related issue: https://bugs.chromium.org/p/chromium/issues/detail?id=1406585

Also I got to know that they are blocking some flags for these models, which had this issue

the problem is that i don't have the possibility of verification.
I tried on a moto g9 and vivo y22 in browser stack but the issue does not occur.
so for now it is no, I do not think I will integrate their code.

@Sureshgorai25 Sureshgorai25 mentioned this issue Apr 22, 2024
5 tasks
@uazo uazo mentioned this issue May 15, 2024
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants