Text doesn't scale properly with viewbox changes
Reported by
ericu@chromium.org,
May 3 2017
|
||
Issue descriptionChrome Version: 59.0.3071.29 (Official Build) beta (64-bit) OS: Linux (new Debian stable install) What steps will reproduce the problem? (1) Load the attached testcase.html (2) Note that the text is inside the box. (3) Click on the text, which triggers a handler that changes the viewbox (4) Note that the text overflows the box badly What is the expected result? The text should scale just as the box does, since all that's changed is the viewbox. What happens instead? The text sticks out on the right side of the box. Please use labels and text to provide additional information. For graphics-related bugs, please copy/paste the contents of the about:gpu page at the end of this report. Here's about:gpu: 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: Enabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Rasterization: Software only. Hardware acceleration disabled Video Decode: Software only, hardware acceleration unavailable Video Encode: Software only, hardware acceleration unavailable VPx Video Decode: Software only, hardware acceleration unavailable WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds clear_uniforms_before_first_program_use count_all_in_varyings_packing decode_encode_srgb_for_generatemipmap disable_framebuffer_cmaa disable_post_sub_buffers_for_onscreen_surfaces disable_texture_storage remove_invariant_and_centroid_for_essl3 scalarize_vec_and_mat_constructor_args Problems Detected Accelerated video decode is unavailable on Linux: 137247 Disabled Features: accelerated_video_decode Accelerated video encode is unavailable on Linux Disabled Features: accelerated_video_encode Clear uniforms before first program use on all platforms: 124764, 349137 Applied Workarounds: clear_uniforms_before_first_program_use Mesa drivers in Linux handle varyings without static use incorrectly: 333885 Applied Workarounds: count_all_in_varyings_packing Always rewrite vec/mat constructors to be consistent: 398694 Applied Workarounds: scalarize_vec_and_mat_constructor_args NVIDIA drivers before 346 lack features in NV_path_rendering and related extensions to implement driver level path rendering.: 344330 Linux Mesa drivers crash on glTexSubImage2D() to texture storage bound to FBO: 521904 Applied Workarounds: disable_texture_storage Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198 Applied Workarounds: disable_framebuffer_cmaa Disable partial swaps on Mesa drivers (detected with GL_VERSION): 339493 Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces Decode and encode before generateMipmap for srgb format textures on os except macosx: 634519 Applied Workarounds: decode_encode_srgb_for_generatemipmap Mesa driver GL 3.3 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 Accelerated rasterization has been disabled, either via blacklist, about:flags or the command line. Disabled Features: rasterization Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Version Information Data exported 5/3/2017, 4:29:51 PM Chrome version Chrome/59.0.3071.29 Operating system Linux 3.16.0-4-amd64 Software rendering list version 13.2 Driver bug list version 10.3 ANGLE commit id a9042d3c1952 2D graphics backend Skia/59 3027fda3cfe425b6fae53ef59923d554402c1414 Command Line Args --user-data-dir=/home/uranium/.config/google-chrome-beta --flag-switches-begin --flag-switches-end Driver Information Initialization time 417 In-process GPU false Passthrough Command Decoder false Supports overlays false Sandboxed true GPU0 VENDOR = 0x10de, DEVICE= 0x0a3c Optimus false Optimus false AMD switchable false Driver vendor Mesa Driver version 10.3.2 Driver date Pixel shader version 3.30 Vertex shader version 3.30 Max. MSAA samples 8 Machine model name Machine model version GL_VENDOR nouveau GL_RENDERER Gallium 0.4 on NVA5 GL_VERSION 3.3 (Core Profile) Mesa 10.3.2 GL_EXTENSIONS GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_color_buffer_float GL_ARB_compressed_texture_pixel_storage GL_ARB_copy_buffer GL_ARB_conservative_depth GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_derivative_control GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_occlusion_query2 GL_ARB_pixel_buffer_object GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_packing GL_ARB_shading_language_420pack GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_texture_barrier GL_ARB_texture_buffer_object GL_ARB_texture_buffer_range GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map_array GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rgb10_a2ui GL_ARB_texture_rg GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_binding GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_provoking_vertex GL_EXT_shader_integer_mix GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_mirror_clamp GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_OES_EGL_image GL_OES_read_format GL_KHR_debug GL_AMD_conservative_depth GL_AMD_draw_buffers_blend GL_AMD_shader_trinary_minmax GL_ATI_blend_equation_separate GL_ATI_texture_compression_3dc GL_ATI_texture_float GL_ATI_texture_mirror_once GL_IBM_multimode_draw_arrays GL_MESA_pack_invert GL_MESA_texture_signed_rgba GL_NV_conditional_render GL_NV_depth_clamp GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_NV_vdpau_interop GL_S3_s3tc Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_NV_path_rendering Window system binding vendor SGI Window system binding version 1.4 Window system binding extensions GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_multisample GLX_EXT_create_context_es2_profile GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_copy_sub_buffer GLX_OML_swap_method GLX_SGI_swap_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_INTEL_swap_event Window manager Metacity XDG_CURRENT_DESKTOP GNOME GDMSESSION gnome-fallback Compositing manager Yes Direct rendering Yes Reset notification strategy 0x8261 GPU process crash count 0 System visual ID 33 RGBA visual ID 115 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 [1569:1569:0501/160157.144691:ERROR:gles2_cmd_decoder.cc(17647)] : [.DisplayCompositor-0x1dfcd1c37700]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name [1569:1569:0501/160157.144779:ERROR:gles2_cmd_decoder.cc(9704)] : [.DisplayCompositor-0x1dfcd1c37700]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [1569:1569:0501/160157.144884:ERROR:gles2_cmd_decoder.cc(17647)] : [.DisplayCompositor-0x1dfcd1c37700]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name [1569:1569:0501/160157.144958:ERROR:gles2_cmd_decoder.cc(9704)] : [.DisplayCompositor-0x1dfcd1c37700]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [1569:1569:0501/160157.145068:ERROR:gles2_cmd_decoder.cc(17647)] : [.DisplayCompositor-0x1dfcd1c37700]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name [1569:1569:0501/160157.145137:ERROR:gles2_cmd_decoder.cc(9704)] : [.DisplayCompositor-0x1dfcd1c37700]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [1569:1569:0501/160157.145222:ERROR:gles2_cmd_decoder.cc(17647)] : [.DisplayCompositor-0x1dfcd1c37700]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name [1569:1569:0501/160157.145298:ERROR:gles2_cmd_decoder.cc(9704)] : [.DisplayCompositor-0x1dfcd1c37700]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [1569:1569:0502/114602.452398:WARNING:x11_util.cc(1366)] : X error received: serial 549943, error_code 9 (BadDrawable), request_code 155, minor_code 4 (Unknown) [1569:1569:0502/114602.452678:WARNING:x11_util.cc(1366)] : X error received: serial 549944, error_code 3 (BadWindow), request_code 4, minor_code 0 (Unknown)
,
May 4 2017
I agree this is WontFix. Text is not arbitrarily scalable for quality rendering.
,
May 4 2017
Thanks; I'll try geometricPrecision--that looks like what I need. FYI the test case is taken from an app where I create the text, get its bbox, then use that to draw a rectangle around it. As the user wants to move and zoom around the diagram, I use viewbox to do that, with no rendering changes, so there's not a convenient way to fit at different scales.
,
May 6 2017
GeometricPrecision worked perfectly, there and elsewhere. Thanks for the pointer, and sorry for the noise. |
||
►
Sign in to add a comment |
||
Comment 1 by f...@opera.com
, May 4 2017