Forum

Mobile issues on Chrome version 57.0.2987.133

26 May 2017 13:36
Hi,

We have several people reporting problems loading our B4W web viewer on Android with Chrome.

They have all passed the WebGL tests at http://webglreport.com/

This is an example of one our links: link

Here is also a B4W web viewer which did not load on their devices: link

This three.js viewer does load on their devices: link

The reported devices are: Samsung Galaxy S7, Google Nexus 6.

Let me know if you need more information.
26 May 2017 13:40
B4W Version is 16.12.1 and we have disabled the debug parameter on m_app.init
26 May 2017 16:46
Hi Jonathan, we've managed to find out what's the problem.

It seems that there's a driver bug related to Adreno 4xx/5xx GPUs, that are used in Samsung Galaxy S7 and Google Nexus 6 devices. This bug affects applications with multisample anti-aliasing enabled, so it may or may not appear on different webgl demos. Regarding the blend4web engine - this bug appears if WebGL 2 context is used. WebGL 2 was recently made available in Chrome Mobile and unfortunately it's not so stable at the moment and the latest 58 version is buggy. This bug is known and the next 59 chrome beta version works OK.

The immediate solution is to fix the app, by enabling the custom quality profile and setting the "msaa_samples" parameter to 1 before the initialization in the "m_app.init" method, for example:
exports.init = function() {
    m_app.init({
        ...
        quality: m_cfg.P_CUSTOM,
        msaa_samples: 1
    });
}

- this will disable the buggy feature.

Also, according to the Chromium Development Calendar the estimated release date for the working beta is about Jun 6th, 2017: Chromium Development Calendar and Release Info, so the bug should disappear after updating the browser. Additionally, we'll add a workaround in the next 17.06 release to avoid this issue.
Blend4Web Team
22 July 2017 10:22
We're still experiencing problems with Chrome version 59.0.3071.125 and Blend4Web 16.12.1 LTS Pro.
22 July 2017 12:43
Tried loading this link with Chrome on S7 Edge.
I updated Chrome on the App Store to be sure I had the latest. The scene still failed to load, or if it did load, nothing showed up. I see a jQuery plugin failed to load. Here is the debug info:

(The round buttons are DIV elements, not part of the 3D scene.)
Hope this helps.
I should add that I have never had trouble with any other Blend4Web apps on this phone. I wonder if you have tried loading the app separate from the page it is embedded in to rule out some code conflict.
24 July 2017 15:06
We're still experiencing problems with Chrome version 59.0.3071.125 and Blend4Web 16.12.1 LTS Pro.
Hi Jonathan, I've tested it on Google Nexus 6 today and it worked fine. Maybe, there are some issues left with S7, which has different GPU.

Tried loading this link with Chrome on S7 Edge.
Hi Will, it seems that you can reproduce this bug, can you show us the output of the chrome://gpu page?
Blend4Web Team
24 July 2017 23:14
After using the fix you've mentioned above and also disabling the debug option we still have 3 devices from our team which cannot load the 3D Viewer and only one of them is using Samsung Galaxy S7.

This bug is quite crucial for us since we've disabled serving the 3D viewer to our mobile clients until it's resolved. We also had a high volume of them reporting problems with loading the 3D viewer.

Here is the chrome://gpu output from all three of them:

Samsung Galaxy S7

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Hardware accelerated
Video Decode: Hardware accelerated
Video Encode: Software only, hardware acceleration unavailable
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_framebuffer_cmaa
max_texture_size_limit_4096
scalarize_vec_and_mat_constructor_args
use_client_side_arrays_for_stream_buffers
use_virtualized_gl_contexts
Problems Detected
MediaCodec is still too buggy to use for encoding (b/11536167): 615108
Disabled Features: accelerated_video_encode
ARM driver doesn't like uploading lots of buffer data constantly
Applied Workarounds: use_client_side_arrays_for_stream_buffers
The Mali-Txxx driver does not guarantee flush ordering: 154715, 10068, 269829, 294779, 285292
Applied Workarounds: use_virtualized_gl_contexts
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Limit max texure size to 4096 on all of Android
Applied Workarounds: max_texture_size_limit_4096
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Raster is using a single thread.
Disabled Features: multiple_raster_threads
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Version Information
Data exported 24.7.2017, 19:14:48
Chrome version Chrome/59.0.3071.125
Operating system Android 7.0
Software rendering list version 13.8
Driver bug list version 10.102
ANGLE commit id a9042d3c1952
2D graphics backend Skia/59 ef6f9c65527412ec4057ea0551f2e051beb94d32
Command Line Args –use-mobile-user-agent –top-controls-show-threshold=0.5 –top-controls-hide-threshold=0.5 –use-mobile-user-agent –enable-pinch –enable-viewport –validate-input-event-stream –enable-longpress-drag-selection –touch-selection-strategy=direction –disable-gpu-process-crash-limit –main-frame-resizes-are-orientation-changes –disable-composited-antialiasing –ui-prioritize-in-gpu-process –profiler-timing=0 –prerender-from-omnibox=enabled –enable-dom-distiller –flag-switches-begin –flag-switches-end
Driver Information
Initialization time 221
In-process GPU false
Passthrough Command Decoder false
Supports overlays false
Sandboxed false
GPU0 VENDOR = 0x0000 [ARM], DEVICE= 0x0000 [Mali-T880]
Optimus false
Optimus false
AMD switchable false
Driver vendor
Driver version 1.
Driver date
Pixel shader version 3.20
Vertex shader version 3.20
Max. MSAA samples 16
Machine model name SM-G935F
Machine model version
GL_VENDOR ARM
GL_RENDERER Mali-T880
GL_VERSION OpenGL ES 3.2 v1.r12p1-03dev0.228ab63cced004f840e7dd47b762a1d0
GL_EXTENSIONS GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_protected_textures
Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Window system binding vendor
Window system binding version
Window system binding extensions
Direct rendering Yes
Reset notification strategy 0x8252
GPU process crash count 0
Compositor Information
Tile Update Mode One-copy
Partial Raster Enabled
GpuMemoryBuffers Status
ATC Software only
ATCIA Software only
DXT1 Software only
DXT5 Software only
ETC1 Software only
R_8 Software only
RG_88 Software only
BGR_565 Software only
RGBA_4444 Software only
RGBX_8888 Software only
RGBA_8888 Software only
BGRX_8888 Software only
BGRA_8888 Software only
RGBA_F16 Software only
YVU_420 Software only
YUV_420_BIPLANAR Software only
UYVY_422 Software only
Log Messages
[ERROR:gl_context_virtual.cc(39)] : Trying to make virtual context current without decoder.
[ERROR:gl_context_virtual.cc(39)] : Trying to make virtual context current without decoder.
[ERROR:gl_context_virtual.cc(39)] : Trying to make virtual context current without decoder.
[ERROR:gl_context_virtual.cc(39)] : Trying to make virtual context current without decoder.
[ERROR:gl_context_virtual.cc(39)] : Trying to make virtual context current without decoder.
[ERROR:gl_context_virtual.cc(39)] : Trying to make virtual context current without decoder.
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.

Google Nexus 6:
Graphics Feature Status
Canvas: Hardware accelerated
CheckerImaging: Disabled
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Hardware accelerated
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
broken_egl_image_ref_counting
clear_uniforms_before_first_program_use
disable_blend_equation_advanced
disable_discard_framebuffer
disable_framebuffer_cmaa
disable_program_caching_for_transform_feedback
force_cube_map_positive_x_allocation
max_copy_texture_chromium_size_1048576
max_texture_size_limit_4096
multisample_renderbuffer_resize_emulation
scalarize_vec_and_mat_constructor_args
unbind_attachments_on_bound_render_fbo_delete
unbind_egl_context_to_flush_driver_caches
use_virtualized_gl_contexts
wake_up_gpu_before_drawing
Problems Detected
Non-virtual contexts on Qualcomm sometimes cause out-of-order frames: 289461
Applied Workarounds: use_virtualized_gl_contexts
The first draw operation from an idle state is slow: 309734
Applied Workarounds: wake_up_gpu_before_drawing
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Adreno 420 driver loses FBO attachment contents on bound FBO deletion: 457027
Applied Workarounds: unbind_attachments_on_bound_render_fbo_delete
Adreno 420 driver drops draw calls after FBO invalidation: 443060
Applied Workarounds: disable_discard_framebuffer
EXT_disjoint_timer_query fails after 256 queries on adreno 4xx: 477514
GL_KHR_blend_equation_advanced breaks blending on Adreno 4xx: 488485
Applied Workarounds: disable_blend_equation_advanced
glFinish doesn't clear caches on Android: 509727
Applied Workarounds: unbind_egl_context_to_flush_driver_caches
Android Adreno crashes on binding incomplete cube map texture to FBO: 518889
Applied Workarounds: force_cube_map_positive_x_allocation
CHROMIUM_copy_texture with 1MB copy per flush to avoid unwanted cache growth on Adreno: 542478
Applied Workarounds: max_copy_texture_chromium_size_1048576
glReadPixels fails on FBOs with SRGB_ALPHA textures, Nexus 5X: 550292, 565179
EGLImage ref counting across EGLContext/threads is broken: 585250
Applied Workarounds: broken_egl_image_ref_counting
Limit max texure size to 4096 on all of Android
Applied Workarounds: max_texture_size_limit_4096
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Adreno 4xx support for EXT_multisampled_render_to_texture is buggy on Android 7.0: 612474
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Program binaries don't contain transform feedback varyings on Qualcomm GPUs: 658074
Applied Workarounds: disable_program_caching_for_transform_feedback
Multisampled color renderbuffers can't be resized on Qualcomm 4xx/5xx: 696126
Applied Workarounds: multisample_renderbuffer_resize_emulation
Raster is using a single thread.
Disabled Features: multiple_raster_threads
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Checker-imaging has been disabled via finch trial or the command line.
Disabled Features: checker_imaging
Version Information
Data exported 7/24/2017, 5:02:16 PM
Chrome version Chrome/61.0.3142.0
Operating system Android 7.0
Software rendering list version 13.8
Driver bug list version 10.17
ANGLE commit id 579d8c7dfcfa
2D graphics backend Skia/61 c908906f06bc3dc618cf1896c725bcd7fd1794d8-
Command Line –use-mobile-user-agent –use-mobile-user-agent –enable-pinch –enable-viewport –validate-input-event-stream –enable-longpress-drag-selection –touch-selection-strategy=direction –disable-gpu-process-crash-limit –main-frame-resizes-are-orientation-changes –disable-composited-antialiasing –ui-prioritize-in-gpu-process –profiler-timing=0 –prerender-from-omnibox=enabled –enable-dom-distiller –flag-switches-begin –flag-switches-end –top-controls-show-threshold=0.5 –top-controls-hide-threshold=0.5
Driver Information
Initialization time 141
In-process GPU false
Passthrough Command Decoder false
Supports overlays false
Sandboxed false
GPU0 VENDOR = 0x0000 [Qualcomm], DEVICE= 0x0000 [Adreno (TM) 420]
Optimus false
Optimus false
AMD switchable false
Driver vendor
Driver version 145.0
Driver date
Pixel shader version 3.20
Vertex shader version 3.20
Max. MSAA samples 4
Machine model name Nexus 6
Machine model version
GL_VENDOR Qualcomm
GL_RENDERER Adreno (TM) 420
GL_VERSION OpenGL ES 3.2 V@145.0 (GIT@I409c65498b)
GL_EXTENSIONS GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_multisampled_render_to_texture GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_EXT_buffer_storage GL_EXT_blit_framebuffer_params
Disabled Extensions GL_EXT_disjoint_timer_query GL_EXT_multisampled_render_to_texture GL_EXT_sRGB GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Window system binding vendor
Window system binding version
Window system binding extensions
Direct rendering Yes
Reset notification strategy 0x8252
GPU process crash count 0
Compositor Information
Tile Update Mode One-copy
Partial Raster Enabled
GpuMemoryBuffers Status
ATC Software only
ATCIA Software only
DXT1 Software only
DXT5 Software only
ETC1 Software only
R_8 Software only
R_16 Software only
RG_88 Software only
BGR_565 Software only
RGBA_4444 Software only
RGBX_8888 Software only
RGBA_8888 Software only
BGRX_8888 Software only
BGRA_8888 Software only
RGBA_F16 Software only
YVU_420 Software only
YUV_420_BIPLANAR Software only
UYVY_422 Software only


Oneplus 5:
Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Hardware accelerated
Video Decode: Hardware accelerated
Video Encode: Software only, hardware acceleration unavailable
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
broken_egl_image_ref_counting
clear_uniforms_before_first_program_use
disable_framebuffer_cmaa
disable_program_caching_for_transform_feedback
disable_program_disk_cache
force_cube_map_positive_x_allocation
max_copy_texture_chromium_size_1048576
max_texture_size_limit_4096
scalarize_vec_and_mat_constructor_args
unbind_egl_context_to_flush_driver_caches
use_virtualized_gl_contexts
wake_up_gpu_before_drawing
Problems Detected
MediaCodec is still too buggy to use for encoding (b/11536167): 615108
Disabled Features: accelerated_video_encode
Non-virtual contexts on Qualcomm sometimes cause out-of-order frames: 289461
Applied Workarounds: use_virtualized_gl_contexts
The first draw operation from an idle state is slow: 309734
Applied Workarounds: wake_up_gpu_before_drawing
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
glFinish doesn't clear caches on Android: 509727
Applied Workarounds: unbind_egl_context_to_flush_driver_caches
Android Adreno crashes on binding incomplete cube map texture to FBO: 518889
Applied Workarounds: force_cube_map_positive_x_allocation
CHROMIUM_copy_texture with 1MB copy per flush to avoid unwanted cache growth on Adreno: 542478
Applied Workarounds: max_copy_texture_chromium_size_1048576
EGLImage ref counting across EGLContext/threads is broken: 585250
Applied Workarounds: broken_egl_image_ref_counting
Limit max texure size to 4096 on all of Android
Applied Workarounds: max_texture_size_limit_4096
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Program binaries don't contain transform feedback varyings on Qualcomm GPUs: 658074
Applied Workarounds: disable_program_caching_for_transform_feedback
Certain Adreno 4xx and 5xx drivers often crash in glProgramBinary.: 699122
Applied Workarounds: disable_program_disk_cache
Raster is using a single thread.
Disabled Features: multiple_raster_threads
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Version Information
Data exported 7/24/2017, 11:08:45 PM
Chrome version Chrome/59.0.3071.125
Operating system Android 7.1.1
Software rendering list version 13.8
Driver bug list version 10.102
ANGLE commit id a9042d3c1952
2D graphics backend Skia/59 ef6f9c65527412ec4057ea0551f2e051beb94d32
Command Line Args –use-mobile-user-agent –use-mobile-user-agent –enable-pinch –enable-viewport –validate-input-event-stream –enable-longpress-drag-selection –touch-selection-strategy=direction –disable-gpu-process-crash-limit –main-frame-resizes-are-orientation-changes –disable-composited-antialiasing –ui-prioritize-in-gpu-process –profiler-timing=0 –prerender-from-omnibox=enabled –enable-dom-distiller –flag-switches-begin –flag-switches-end –top-controls-show-threshold=0.5 –top-controls-hide-threshold=0.5 –top-controls-show-threshold=0.5 –top-controls-hide-threshold=0.5 –top-controls-show-threshold=0.5 –top-controls-hide-threshold=0.5
Driver Information
Initialization time 60
In-process GPU false
Passthrough Command Decoder false
Supports overlays false
Sandboxed false
GPU0 VENDOR = 0x0000 [Qualcomm], DEVICE= 0x0000 [Adreno (TM) 540]
Optimus false
Optimus false
AMD switchable false
Driver vendor
Driver version 207.0
Driver date
Pixel shader version 3.20
Vertex shader version 3.20
Max. MSAA samples 4
Machine model name ONEPLUS A5000
Machine model version
GL_VENDOR Qualcomm
GL_RENDERER Adreno (TM) 540
GL_VERSION OpenGL ES 3.2 V@207.0 (GIT@8209866, I528a81912f) (Date:04/01/17)
GL_EXTENSIONS GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_texture_compression_astc GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_multisampled_render_to_texture GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_EXT_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_ARB_texture_barrier GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_EXT_buffer_storage GL_EXT_blit_framebuffer_params GL_EXT_clip_cull_distance GL_EXT_protected_textures GL_EXT_shader_non_constant_global_initializers
Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Window system binding vendor
Window system binding version
Window system binding extensions
Direct rendering Yes
Reset notification strategy 0x8252
GPU process crash count 1
Compositor Information
Tile Update Mode One-copy
Partial Raster Enabled
GpuMemoryBuffers Status
ATC Software only
ATCIA Software only
DXT1 Software only
DXT5 Software only
ETC1 Software only
R_8 Software only
RG_88 Software only
BGR_565 Software only
RGBA_4444 Software only
RGBX_8888 Software only
RGBA_8888 Software only
BGRX_8888 Software only
BGRA_8888 Software only
RGBA_F16 Software only
YVU_420 Software only
YUV_420_BIPLANAR Software only
UYVY_422 Software only
Log Messages
GpuProcessHostUIShim:
25 July 2017 17:04
After using the fix you've mentioned above and also disabling the debug option we still have 3 devices from our team which cannot load the 3D Viewer and only one of them is using Samsung Galaxy S7.
Regarding the fix: sorry, my mistake, the "msaa_samples" option was introduced in 17.04, hence it doesn't work for the previous versions. I also saw that the application on the site is using 15.11, which is quite old, and you said that you tested 16.12.1, so would you mind to update to the latest 17.06? It already has the corresponding fix for Adreno GPUs (Google Nexus 6 and Oneplus 5). Otherwise, it will require to change the engine source code to apply a fix and then recompile it and replace the b4w.min.js file in the app.

As for Samsung - it's strange because we cannot reproduce this bug for Mali GPU (S7 ships with Adreno 530 or Mali-T880 gpu depending on the model), which is in that particular device you've tested. I think, setting msaa_samples to 1 can help too, but it will also require updating the engine or changing the source code as I mentioned before.
Blend4Web Team
25 July 2017 17:31
Could you please provide information for the fix in the source files?

We cannot use version 17.04 since our pro version is only up to 16.12.1
25 July 2017 17:54
Could you please provide information for the fix in the source files?
You can add the following line:
cfg_def.msaa_samples = 1;

or to detect mobile devices only:
if (detect_mobile())
        cfg_def.msaa_samples = 1;

right at the end of the "exports.set_hardware_defaults" method in the "src/compat.js" file.
Here is the link to source code: link
Blend4Web Team
 
Please register or log in to leave a reply.