Bug 449424 - If I use the v key to make lines, krita randomly creates white blocks on the canvas like large merged pixels
Summary: If I use the v key to make lines, krita randomly creates white blocks on the ...
Status: RESOLVED UPSTREAM
Alias: None
Product: krita
Classification: Applications
Component: OpenGL Canvas (show other bugs)
Version: 5.0.2
Platform: Appimage Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2022-01-31 18:52 UTC by aiena.makehuman
Modified: 2022-03-10 01:32 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description aiena.makehuman 2022-01-31 18:52:12 UTC
SUMMARY
***
If I use the v key to make lines krita randomly creates white blocks on the canvas like large merged pixels. This is very random and hard to reproduce but very annoying and it breaks the background on which the lines are painted. These random white squares can later be filled with color with the bucket fill tool.
***


STEPS TO REPRODUCE
1.  use the default krita startup file.
2.  On the "background layer" choose a dark color and fill the background of the canvas
3.  choose a brush I have tested with the "Basic-5 Size" brush and the "Basic-1 brush"
4. press the "v" key and randomly keep drawing lines. 
OBSERVED RESULT
The lines will draw fine on the canvas but suddenly at random roughly around the endpoint a patch of white will appear on the canvas replacing the dark blue of the background with a white patch.  This is very random. Sometimes undoing can exacerbate the issue. Sometimes it never happens. It is very annoying because it deletes the previously painted pixels and replaces them with these patchy white rectangles. If I further use the fill tool on this patches it replaces the white patched with the fill color. Sometimes drawing over the area where these patches appeared would change the patches slightly.

I have made a video to demonstrate this problem because I am struggling to find a reliable trigger.  Please view it at the below link:

https://drive.google.com/file/d/1qVz-BZcLno4Y5GBnCp5DN5u_rb7y0z0f/view?usp=sharing (see ~42 secinds for the first artifact)

EXPECTED RESULT
The line should composite with the background correctly no random patches should appear.

Krita

 Version: 5.0.2
 Languages: en_IN, en, en, en_IN, en
 Hidpi: true

Qt

  Version (compiled): 5.12.12
  Version (loaded): 5.12.12

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 5.4.0-96-generic
  Pretty Productname: Ubuntu 20.04.3 LTS
  Product Type: ubuntu
  Product Version: 20.04
  Desktop: KDE

OpenGL Info
 
  Vendor:  "Intel" 
  Renderer:  "Mesa Intel(R) UHD Graphics 620 (KBL GT2)" 
  Version:  "4.6 (Compatibility Profile) Mesa 21.0.3" 
  Shading language:  "4.60" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:  QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 
  supportsBufferMapping: true 
  supportsBufferInvalidation: true 
  Extensions: 
     "GL_NV_primitive_restart" 
     "GL_EXT_texture_integer" 
     "GL_IBM_rasterpos_clip" 
     "GL_ARB_ES2_compatibility" 
     "GL_ARB_shader_image_size" 
     "GL_ARB_transform_feedback2" 
     "GL_SUN_multi_draw_arrays" 
     "GL_EXT_texture_snorm" 
     "GL_EXT_gpu_program_parameters" 
     "GL_ARB_conditional_render_inverted" 
     "GL_ARB_occlusion_query2" 
     "GL_ARB_shader_texture_lod" 
     "GL_ARB_shader_precision" 
     "GL_AMD_performance_monitor" 
     "GL_INGR_blend_func_separate" 
     "GL_EXT_shadow_funcs" 
     "GL_ARB_texture_storage_multisample" 
     "GL_NV_copy_image" 
     "GL_ARB_texture_buffer_object_rgb32" 
     "GL_EXT_vertex_attrib_64bit" 
     "GL_EXT_semaphore_fd" 
     "GL_EXT_packed_pixels" 
     "GL_EXT_texture_shadow_lod" 
     "GL_ARB_query_buffer_object" 
     "GL_MESA_pack_invert" 
     "GL_EXT_abgr" 
     "GL_AMD_shader_trinary_minmax" 
     "GL_EXT_pixel_buffer_object" 
     "GL_EXT_direct_state_access" 
     "GL_NV_packed_depth_stencil" 
     "GL_EXT_texture_filter_anisotropic" 
     "GL_ARB_multi_draw_indirect" 
     "GL_EXT_texture_compression_dxt1" 
     "GL_EXT_blend_equation_separate" 
     "GL_ARB_framebuffer_object" 
     "GL_NV_compute_shader_derivatives" 
     "GL_EXT_vertex_array_bgra" 
     "GL_EXT_copy_texture" 
     "GL_ARB_vertex_attrib_64bit" 
     "GL_ARB_blend_func_extended" 
     "GL_ARB_internalformat_query2" 
     "GL_EXT_timer_query" 
     "GL_ARB_occlusion_query" 
     "GL_ARB_shadow" 
     "GL_ARB_copy_image" 
     "GL_ARB_explicit_attrib_location" 
     "GL_ARB_texture_non_power_of_two" 
     "GL_3DFX_texture_compression_FXT1" 
     "GL_EXT_shader_framebuffer_fetch" 
     "GL_EXT_texture_cube_map" 
     "GL_EXT_transform_feedback" 
     "GL_EXT_texture3D" 
     "GL_ATI_blend_equation_separate" 
     "GL_EXT_packed_float" 
     "GL_ARB_color_buffer_float" 
     "GL_ATI_fragment_shader" 
     "GL_S3_s3tc" 
     "GL_ARB_depth_buffer_float" 
     "GL_EXT_rescale_normal" 
     "GL_ARB_get_program_binary" 
     "GL_EXT_shader_framebuffer_fetch_non_coherent" 
     "GL_ARB_texture_buffer_range" 
     "GL_EXT_texture_env_combine" 
     "GL_EXT_texture_shared_exponent" 
     "GL_ARB_texture_env_combine" 
     "GL_ATI_separate_stencil" 
     "GL_ARB_draw_instanced" 
     "GL_EXT_draw_range_elements" 
     "GL_INTEL_blackhole_render" 
     "GL_NV_blend_square" 
     "GL_ARB_debug_output" 
     "GL_ARB_seamless_cube_map" 
     "GL_IBM_multimode_draw_arrays" 
     "GL_ARB_shading_language_include" 
     "GL_ARB_vertex_type_10f_11f_11f_rev" 
     "GL_ARB_texture_rgb10_a2ui" 
     "GL_ARB_internalformat_query" 
     "GL_ARB_fragment_layer_viewport" 
     "GL_EXT_subtexture" 
     "GL_ARB_texture_border_clamp" 
     "GL_ARB_texture_buffer_object" 
     "GL_ARB_shading_language_420pack" 
     "GL_EXT_texture_sRGB_decode" 
     "GL_ARB_texture_gather" 
     "GL_ARB_texture_rg" 
     "GL_EXT_texture_env_dot3" 
     "GL_ARB_sync" 
     "GL_ARB_get_texture_sub_image" 
     "GL_ATI_texture_env_combine3" 
     "GL_AMD_shader_stencil_export" 
     "GL_EXT_shader_samples_identical" 
     "GL_ARB_viewport_array" 
     "GL_NV_conditional_render" 
     "GL_ARB_timer_query" 
     "GL_ARB_vertex_attrib_binding" 
     "GL_EXT_texture" 
     "GL_KHR_context_flush_control" 
     "GL_EXT_EGL_sync" 
     "GL_EXT_texture_object" 
     "GL_ARB_texture_storage" 
     "GL_NV_texture_barrier" 
     "GL_MESA_framebuffer_flip_y" 
     "GL_EXT_gpu_shader4" 
     "GL_EXT_texture_sRGB" 
     "GL_EXT_blend_color" 
     "GL_ARB_seamless_cubemap_per_texture" 
     "GL_KHR_blend_equation_advanced_coherent" 
     "GL_EXT_fog_coord" 
     "GL_OES_EGL_image" 
     "GL_ARB_clear_buffer_object" 
     "GL_ARB_window_pos" 
     "GL_EXT_secondary_color" 
     "GL_ARB_polygon_offset_clamp" 
     "GL_ARB_half_float_vertex" 
     "GL_ARB_texture_swizzle" 
     "GL_EXT_stencil_two_side" 
     "GL_ARB_framebuffer_sRGB" 
     "GL_ARB_draw_buffers" 
     "GL_NV_copy_depth_to_color" 
     "GL_ARB_transpose_matrix" 
     "GL_ARB_texture_float" 
     "GL_ARB_shader_atomic_counters" 
     "GL_ARB_map_buffer_range" 
     "GL_ARB_uniform_buffer_object" 
     "GL_ARB_transform_feedback_overflow_query" 
     "GL_ARB_shader_group_vote" 
     "GL_AMD_vertex_shader_layer" 
     "GL_SGIS_texture_border_clamp" 
     "GL_EXT_bgra" 
     "GL_ARB_shader_bit_encoding" 
     "GL_ARB_instanced_arrays" 
     "GL_INTEL_shader_atomic_float_minmax" 
     "GL_ARB_shading_language_100" 
     "GL_ARB_separate_shader_objects" 
     "GL_EXT_vertex_array" 
     "GL_ARB_transform_feedback_instanced" 
     "GL_ARB_shader_texture_image_samples" 
     "GL_MESA_shader_integer_functions" 
     "GL_ARB_gpu_shader_int64" 
     "GL_EXT_separate_specular_color" 
     "GL_ARB_texture_query_levels" 
     "GL_SGIS_texture_edge_clamp" 
     "GL_ARB_direct_state_access" 
     "GL_KHR_parallel_shader_compile" 
     "GL_KHR_robust_buffer_access_behavior" 
     "GL_ARB_depth_clamp" 
     "GL_ARB_vertex_program" 
     "GL_ARB_ES3_compatibility" 
     "GL_ANGLE_texture_compression_dxt3" 
     "GL_ARB_draw_buffers_blend" 
     "GL_ANGLE_texture_compression_dxt5" 
     "GL_ARB_fragment_program" 
     "GL_ARB_multisample" 
     "GL_ARB_program_interface_query" 
     "GL_ARB_compute_shader" 
     "GL_ARB_compatibility" 
     "GL_EXT_packed_depth_stencil" 
     "GL_ARB_fragment_shader" 
     "GL_SGIS_texture_lod" 
     "GL_AMD_seamless_cubemap_per_texture" 
     "GL_AMD_pinned_memory" 
     "GL_ARB_post_depth_coverage" 
     "GL_APPLE_packed_pixels" 
     "GL_EXT_framebuffer_object" 
     "GL_ARB_texture_multisample" 
     "GL_ARB_ES3_1_compatibility" 
     "GL_KHR_blend_equation_advanced" 
     "GL_EXT_texture_lod_bias" 
     "GL_EXT_stencil_wrap" 
     "GL_ARB_vertex_buffer_object" 
     "GL_ARB_texture_env_dot3" 
     "GL_ARB_shader_ballot" 
     "GL_ARB_fragment_shader_interlock" 
     "GL_ARB_texture_stencil8" 
     "GL_ARB_sampler_objects" 
     "GL_ARB_indirect_parameters" 
     "GL_ARB_clear_texture" 
     "GL_EXT_polygon_offset_clamp" 
     "GL_ARB_gl_spirv" 
     "GL_KHR_robustness" 
     "GL_EXT_texture_compression_s3tc" 
     "GL_AMD_query_buffer_object" 
     "GL_AMD_texture_texture4" 
     "GL_ARB_texture_cube_map" 
     "GL_INTEL_shader_integer_functions2" 
     "GL_ARB_texture_env_crossbar" 
     "GL_EXT_draw_buffers2" 
     "GL_EXT_EGL_image_storage" 
     "GL_EXT_shader_integer_mix" 
     "GL_ARB_provoking_vertex" 
     "GL_ARB_shader_atomic_counter_ops" 
     "GL_ARB_tessellation_shader" 
     "GL_NV_depth_clamp" 
     "GL_EXT_compiled_vertex_array" 
     "GL_ARB_base_instance" 
     "GL_ARB_invalidate_subdata" 
     "GL_ARB_shader_draw_parameters" 
     "GL_AMD_vertex_shader_viewport_index" 
     "GL_ARB_half_float_pixel" 
     "GL_EXT_texture_sRGB_R8" 
     "GL_ARB_cull_distance" 
     "GL_ARB_copy_buffer" 
     "GL_ARB_texture_compression_bptc" 
     "GL_OES_read_format" 
     "GL_ARB_texture_env_add" 
     "GL_ARB_stencil_texturing" 
     "GL_ARB_framebuffer_no_attachments" 
     "GL_EXT_framebuffer_blit" 
     "GL_EXT_framebuffer_multisample" 
     "GL_ARB_shader_clock" 
     "GL_ARB_sample_shading" 
     "GL_AMD_conservative_depth" 
     "GL_KHR_texture_compression_astc_sliced_3d" 
     "GL_NV_fog_distance" 
     "GL_ARB_texture_compression" 
     "GL_AMD_multi_draw_indirect" 
     "GL_ARB_texture_barrier" 
     "GL_ARB_texture_mirrored_repeat" 
     "GL_EXT_texture_env_add" 
     "GL_ARB_derivative_control" 
     "GL_ARB_point_sprite" 
     "GL_ARB_vertex_shader" 
     "GL_KHR_texture_compression_astc_ldr" 
     "GL_ARB_compressed_texture_pixel_storage" 
     "GL_ARB_depth_texture" 
     "GL_ARB_fragment_coord_conventions" 
     "GL_EXT_framebuffer_sRGB" 
     "GL_ARB_pipeline_statistics_query" 
     "GL_NV_texture_rectangle" 
     "GL_NV_light_max_exponent" 
     "GL_ARB_gpu_shader_fp64" 
     "GL_EXT_blend_func_separate" 
     "GL_ARB_robustness" 
     "GL_ARB_transform_feedback3" 
     "GL_EXT_demote_to_helper_invocation" 
     "GL_AMD_draw_buffers_blend" 
     "GL_ARB_texture_cube_map_array" 
     "GL_KHR_debug" 
     "GL_ARB_draw_elements_base_vertex" 
     "GL_ARB_clip_control" 
     "GL_KHR_no_error" 
     "GL_ARB_texture_rectangle" 
     "GL_EXT_draw_instanced" 
     "GL_ARB_arrays_of_arrays" 
     "GL_ARB_vertex_type_2_10_10_10_rev" 
     "GL_ARB_conservative_depth" 
     "GL_EXT_point_parameters" 
     "GL_ARB_texture_view" 
     "GL_ATI_draw_buffers" 
     "GL_ARB_texture_compression_rgtc" 
     "GL_ARB_parallel_shader_compile" 
     "GL_EXT_texture_rectangle" 
     "GL_ATI_texture_float" 
     "GL_ARB_gpu_shader5" 
     "GL_EXT_texture_buffer_object" 
     "GL_ARB_compute_variable_group_size" 
     "GL_ARB_spirv_extensions" 
     "GL_MESA_texture_signed_rgba" 
     "GL_ARB_robust_buffer_access_behavior" 
     "GL_ARB_vertex_array_bgra" 
     "GL_ARB_multitexture" 
     "GL_ARB_shader_subroutine" 
     "GL_EXT_texture_compression_rgtc" 
     "GL_EXT_provoking_vertex" 
     "GL_NV_texgen_reflection" 
     "GL_ARB_buffer_storage" 
     "GL_ARB_shading_language_packing" 
     "GL_ARB_shader_image_load_store" 
     "GL_EXT_texture_edge_clamp" 
     "GL_IBM_texture_mirrored_repeat" 
     "GL_ARB_draw_indirect" 
     "GL_ARB_shader_stencil_export" 
     "GL_ARB_multi_bind" 
     "GL_ARB_enhanced_layouts" 
     "GL_ARB_shader_objects" 
     "GL_ARB_shader_storage_buffer_object" 
     "GL_ARB_texture_query_lod" 
     "GL_ARB_map_buffer_alignment" 
     "GL_NV_fragment_shader_interlock" 
     "GL_EXT_blend_subtract" 
     "GL_INTEL_performance_query" 
     "GL_ARB_texture_filter_anisotropic" 
     "GL_EXT_texture_array" 
     "GL_EXT_texture_swizzle" 
     "GL_EXT_semaphore" 
     "GL_EXT_blend_minmax" 
     "GL_EXT_multi_draw_arrays" 
     "GL_EXT_framebuffer_multisample_blit_scaled" 
     "GL_ARB_fragment_program_shadow" 
     "GL_MESA_window_pos" 
     "GL_ARB_explicit_uniform_location" 
     "GL_NV_half_float" 
     "GL_AMD_depth_clamp_separate" 
     "GL_SGIS_generate_mipmap" 
     "GL_ARB_shader_viewport_layer_array" 
     "GL_NV_texture_env_combine4" 
     "GL_ARB_point_parameters" 
     "GL_ARB_texture_mirror_clamp_to_edge" 
     "GL_ARB_vertex_array_object" 
     "GL_ARB_pixel_buffer_object" 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false 

useBufferInvalidation (config option): false


Hardware Information

  GPU Acceleration: auto
  Memory: 7761 Mb
  Number of Cores: 8
  Swap Location: /tmp

Current Settings

  Current Swap Location: /tmp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 200
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Disable Vector Optimizations: false
  Disable AVX Optimizations: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 420
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: false
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Display Information
Number of screens: 1
	Screen: 0
		Name: HDMI-1
		Depth: 24
		Scale: 1
		Resolution in pixels: 1920x1080
		Manufacturer: Dell Inc.
		Model: DELL S2216H-
		Refresh Rate: 60


ADDITIONAL INFORMATION
Comment 1 Halla Rempt 2022-03-08 10:02:41 UTC
This has nothing to do with the selected brush. I can see it happen in your video, but I cannot reproduce it myself.
Comment 2 aiena.makehuman 2022-03-08 14:53:59 UTC
Yes you are right. It has something to do with OpenGL and my hardware. I noticed if I use export DRI_PRIME=1 and use my laptop's AMD GPU it does solve the problem. On IRC someone gave me an idea that it could be OpenGL interfering and indeed it was.  I wonder if it is some problem with the integrated graphics on this laptop's CPU.
Comment 3 Halla Rempt 2022-03-08 15:07:20 UTC
I guess we can blame the display driver for this then
Comment 4 aiena.makehuman 2022-03-10 01:32:03 UTC
(In reply to Halla Rempt from comment #3)
> I guess we can blame the display driver for this then

Probably. Thanks for trying to reproduce. I know these types of bugs are really hard to solve. My current workaround seems to be the best option for now.