| Summary: | Glitchy transparent areas appear on canvas while painting | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | acc4commissions |
| Component: | General | Assignee: | Alvin Wong <alvin> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | alvin, dimula73, halla, tgdev001 |
| Priority: | NOR | ||
| Version First Reported In: | nightly build (please specify the git hash!) | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | All | ||
| Latest Commit: | https://invent.kde.org/graphics/krita/commit/9eb5f8d4aa8e48235c0121a884ba4d3397c23819 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: | capture | ||
Additional info : - it's gone when I click dockers (and appears again when starting painting again) - it's most observable when you make big, fast brushstrokes Ok, it happens in git 371836e as well. I just didn't notice. It doesn't happen when the renderer is set to OpenGL. Can you take a video of what's happening? (In reply to acc4commissions from comment #2) > Ok, it happens in git 371836e as well. I just didn't notice. Did you meant to say another revision here? You mentioned the same commit in the original description. (In reply to Alvin Wong from comment #4) > Can you take a video of what's happening? > > (In reply to acc4commissions from comment #2) > > Ok, it happens in git 371836e as well. I just didn't notice. > > Did you meant to say another revision here? You mentioned the same commit in > the original description. Yes, my bad. Today I'm a little drunk lol. I meant to say d8ae3bb, but I checked again and it doesn't happen in d8ae3bb. It seems it started to happen from 371836e. Hi, acc4commissions! Can you make a screen video recording of the bug? I cannot reproduce it here :( Btw, you are use nigthly builds, right? You don't compile Krita from source, do you? (I'm a bit confused by the field in the bugreport) Mark as waitingforinfo recording : https://i.imgur.com/lJWwrEG.mp4 yes, I'm using nightly builds. I used 5.1.0-prealpha (git 68ad8f3) on recording this. It has been happening since git 371836e. Thanks for your comment! Automatically switching the status of this bug to REPORTED so that the KDE team knows that the bug is ready to get confirmed. In the future you may also do this yourself when providing needed information. I'm not sure yet, but it seems only happen when the cursor accidently goes out of the krita window(left and bottom) while making brushstrokes. If the cursor stays strictly inside the krita window while making brushstrokes, the glitch doesn't appear. @Dmitry maybe this [1] applies to all other platforms too? [1] https://invent.kde.org/graphics/krita/-/blob/d28aaccfdcc364447583803968f3d4bd9692708c/libs/ui/opengl/kis_opengl_canvas2.cpp#L310-315 I recently experienced small glitches even when I was using OpenGL. It's (very)much harder to reproduce than when I'm using ANGLE tho. What is in your "system information for bug reports"? (In reply to Alvin Wong from comment #13) > What is in your "system information for bug reports"? https://cdn.discordapp.com/attachments/838374815211061291/963250192990228530/system_info_for_bugreport.txt Krita
Version: 5.1.0-prealpha (git af77a5f)
Installation type: installer / portable package
Languages: en_US, en, en_US, en, en_US, en, en_US, en, en_US, en, en_US, en, en_US, en, en_US, en, en_US, en
Hidpi: true
Qt
Version (compiled): 5.12.12
Version (loaded): 5.12.12
OS Information
Build ABI: x86_64-little_endian-llp64
Build CPU: x86_64
CPU: x86_64
Kernel Type: winnt
Kernel Version: 10.0.19043
Pretty Productname: Windows 10 (10.0)
Product Type: windows
Product Version: 10
OpenGL Info
Vendor: "NVIDIA Corporation"
Renderer: "GeForce GTX 1060 6GB/PCIe/SSE2"
Version: "4.6.0 NVIDIA 456.71"
Shading language: "4.60 NVIDIA"
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 0, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 1, colorSpace QSurfaceFormat::sRGBColorSpace, profile QSurfaceFormat::CompatibilityProfile)
Version: 4.6
Supports deprecated functions true
is OpenGL ES: false
supportsBufferMapping: true
supportsBufferInvalidation: true
Extensions:
"GL_NV_ES1_1_compatibility"
"GL_NV_vertex_program3"
"GL_EXT_framebuffer_multisample_blit_scaled"
"GL_NVX_conditional_render"
"GL_ARB_shader_viewport_layer_array"
"GL_ARB_texture_storage_multisample"
"GL_NV_fence"
"GL_ARB_compute_shader"
"GL_ARB_robust_buffer_access_behavior"
"GL_EXT_vertex_array_bgra"
"GL_ARB_invalidate_subdata"
"GL_ARB_texture_mirror_clamp_to_edge"
"GL_NVX_linked_gpu_multicast"
"GL_NV_fog_distance"
"GL_ARB_conditional_render_inverted"
"GL_ARB_gl_spirv"
"GL_EXT_multi_draw_arrays"
"GL_NV_texture_barrier"
"GL_EXT_pixel_buffer_object"
"GL_ARB_separate_shader_objects"
"GL_ARB_direct_state_access"
"GL_ARB_compatibility"
"GL_KHR_robustness"
"GL_NVX_multigpu_info"
"GL_EXT_texture_object"
"GL_ARB_seamless_cubemap_per_texture"
"GL_NV_texture_shader"
"GL_ARB_multi_bind"
"GL_ARB_draw_indirect"
"GL_ARB_stencil_texturing"
"GL_NV_fragment_program_option"
"GL_ARB_shader_texture_image_samples"
"GL_NV_conservative_raster_pre_snap_triangles"
"GL_ARB_shading_language_include"
"GL_NV_multisample_filter_hint"
"GL_ARB_shadow"
"GL_NV_viewport_swizzle"
"GL_NV_conservative_raster"
"GL_NV_register_combiners2"
"GL_ARB_sparse_texture"
"GL_EXT_semaphore"
"GL_ARB_arrays_of_arrays"
"GL_NV_parameter_buffer_object2"
"GL_ARB_texture_view"
"GL_KHR_blend_equation_advanced"
"GL_NV_draw_texture"
"GL_ARB_texture_float"
"GL_NV_conservative_raster_dilate"
"GL_NV_alpha_to_coverage_dither_control"
"GL_NV_blend_equation_advanced"
"GL_ARB_gpu_shader_fp64"
"GL_EXT_vertex_attrib_64bit"
"GL_ARB_internalformat_query"
"GL_ARB_half_float_vertex"
"GL_ARB_sample_shading"
"GL_NV_float_buffer"
"GL_EXT_texture_compression_latc"
"GL_ARB_occlusion_query2"
"GL_ARB_texture_mirrored_repeat"
"GL_ARB_texture_gather"
"GL_EXT_separate_shader_objects"
"GL_NV_fragment_coverage_to_color"
"GL_NV_shader_atomic_fp16_vector"
"GL_EXT_texture_storage"
"GL_NV_sample_mask_override_coverage"
"GL_NV_feature_query"
"GL_NV_blend_equation_advanced_coherent"
"GL_AMD_vertex_shader_layer"
"GL_ARB_instanced_arrays"
"GL_ARB_point_parameters"
"GL_EXT_framebuffer_object"
"GL_ARB_shader_clock"
"GL_ARB_program_interface_query"
"GL_ARB_framebuffer_no_attachments"
"GL_ARB_post_depth_coverage"
"GL_KHR_robust_buffer_access_behavior"
"GL_NV_compute_program5"
"GL_ARB_compressed_texture_pixel_storage"
"GL_ARB_sampler_objects"
"GL_ARB_ES3_1_compatibility"
"GL_EXT_point_parameters"
"GL_ARB_shader_bit_encoding"
"GL_ARB_texture_env_dot3"
"GL_ARB_multi_draw_indirect"
"GL_EXT_post_depth_coverage"
"GL_ARB_pixel_buffer_object"
"GL_ARB_viewport_array"
"GL_NV_texture_shader3"
"GL_ARB_ES3_compatibility"
"GL_EXT_shader_integer_mix"
"GL_ARB_texture_compression_bptc"
"GL_EXT_texture_compression_dxt1"
"GL_EXT_texture_env_dot3"
"GL_NV_fill_rectangle"
"GL_ARB_texture_stencil8"
"GL_ARB_uniform_buffer_object"
"GL_EXT_texture_env_combine"
"GL_NV_draw_vulkan_image"
"GL_ARB_ES3_2_compatibility"
"GL_ARB_spirv_extensions"
"GL_ARB_texture_env_add"
"GL_NV_occlusion_query"
"GL_ARB_bindless_texture"
"GL_ARB_shader_image_size"
"GL_NV_stereo_view_rendering"
"GL_ARB_sparse_texture_clamp"
"GL_ARB_fragment_program"
"GL_ARB_framebuffer_object"
"GL_NV_viewport_array2"
"GL_NV_command_list"
"GL_EXT_geometry_shader4"
"GL_ARB_draw_instanced"
"GL_NV_transform_feedback"
"GL_ARB_vertex_buffer_object"
"GL_EXT_texture_compression_s3tc"
"GL_EXT_rescale_normal"
"GL_EXT_texture_env_add"
"GL_EXT_multiview_texture_multisample"
"GL_ARB_gpu_shader5"
"GL_ARB_sample_locations"
"GL_ARB_shader_objects"
"GL_ARB_blend_func_extended"
"GL_ARB_sparse_buffer"
"GL_ARB_texture_query_lod"
"GL_EXT_texture_cube_map"
"GL_EXT_texture_integer"
"GL_ARB_texture_rg"
"GL_EXT_timer_query"
"GL_EXTX_framebuffer_mixed_formats"
"GL_ARB_texture_buffer_object"
"GL_EXT_polygon_offset_clamp"
"GL_ARB_shader_precision"
"GL_ARB_texture_env_combine"
"GL_AMD_seamless_cubemap_per_texture"
"GL_ARB_vertex_array_object"
"GL_NV_primitive_restart"
"GL_NV_clip_space_w_scaling"
"GL_NV_texture_env_combine4"
"GL_NV_fragment_program2"
"GL_EXT_texture_filter_anisotropic"
"GL_ARB_fragment_layer_viewport"
"GL_NV_gpu_program4_1"
"GL_NV_gpu_program5"
"GL_EXT_stencil_wrap"
"GL_ARB_shader_group_vote"
"GL_ARB_draw_buffers"
"GL_ARB_texture_border_clamp"
"GL_ARB_copy_buffer"
"GL_NV_shader_atomic_float64"
"GL_EXT_blend_func_separate"
"GL_SGIX_shadow"
"GL_ARB_clear_texture"
"GL_NV_geometry_shader4"
"GL_ARB_texture_non_power_of_two"
"GL_ATI_texture_float"
"GL_ARB_texture_swizzle"
"GL_KTX_buffer_region"
"GL_ARB_clear_buffer_object"
"GL_WIN_swap_hint"
"GL_EXT_abgr"
"GL_ARB_shading_language_100"
"GL_AMD_multi_draw_indirect"
"GL_NV_shader_atomic_float"
"GL_ARB_base_instance"
"GL_ARB_sparse_texture2"
"GL_ARB_vertex_type_10f_11f_11f_rev"
"GL_ARB_gpu_shader_int64"
"GL_SGIS_texture_lod"
"GL_ATI_texture_mirror_once"
"GL_IBM_rasterpos_clip"
"GL_EXT_texture_compression_rgtc"
"GL_EXT_memory_object"
"GL_EXT_shader_image_load_formatted"
"GL_NV_point_sprite"
"GL_ARB_shader_storage_buffer_object"
"GL_ARB_transform_feedback_instanced"
"GL_NV_gpu_program5_mem_extended"
"GL_ARB_parallel_shader_compile"
"GL_NV_depth_buffer_float"
"GL_NV_pixel_data_range"
"GL_EXT_texture_shared_exponent"
"GL_SUN_slice_accum"
"GL_EXT_texture_shadow_lod"
"GL_ARB_tessellation_shader"
"GL_EXT_compiled_vertex_array"
"GL_NV_blend_minmax_factor"
"GL_ARB_vertex_shader"
"GL_EXT_texture_filter_minmax"
"GL_NVX_blend_equation_advanced_multi_draw_buffers"
"GL_ARB_point_sprite"
"GL_ARB_shader_draw_parameters"
"GL_ARB_multitexture"
"GL_NV_texture_shader2"
"GL_EXT_texture_lod"
"GL_EXT_direct_state_access"
"WGL_EXT_swap_control"
"GL_NV_fragment_program"
"GL_NV_texture_multisample"
"GL_NV_transform_feedback2"
"GL_ARB_sync"
"GL_ARB_texture_buffer_object_rgb32"
"GL_EXT_multiview_timer_query"
"GL_EXT_raster_multisample"
"GL_NV_gpu_program_fp64"
"GL_NV_texture_rectangle"
"GL_NV_vertex_program2_option"
"GL_EXT_framebuffer_blit"
"GL_ARB_multisample"
"GL_NV_bindless_multi_draw_indirect_count"
"GL_NVX_progress_fence"
"GL_KHR_blend_equation_advanced_coherent"
"GL_EXT_blend_color"
"GL_EXT_texture_sRGB_decode"
"GL_EXT_bgra"
"GL_ARB_buffer_storage"
"GL_NV_explicit_multisample"
"GL_NV_path_rendering_shared_edge"
"GL_NV_memory_attachment"
"GL_ARB_depth_clamp"
"GL_ARB_internalformat_query2"
"GL_ARB_shader_ballot"
"GL_NV_vertex_attrib_integer_64bit"
"GL_EXT_framebuffer_multisample"
"GL_ARB_seamless_cube_map"
"GL_ARB_texture_barrier"
"GL_EXT_texture_array"
"GL_NV_gpu_program4"
"GL_NV_vertex_buffer_unified_memory"
"GL_NV_path_rendering"
"GL_ARB_vertex_array_bgra"
"GL_EXT_texture_sRGB_R8"
"GL_NV_shader_storage_buffer_object"
"GL_ARB_color_buffer_float"
"GL_ARB_get_texture_sub_image"
"GL_ARB_half_float_pixel"
"GL_NVX_nvenc_interop"
"GL_ARB_vertex_program"
"GL_NV_light_max_exponent"
"GL_EXT_texture3D"
"GL_EXT_fog_coord"
"GL_ARB_texture_env_crossbar"
"GL_ARB_transform_feedback3"
"GL_ARB_enhanced_layouts"
"GL_EXT_texture_edge_clamp"
"GL_ARB_explicit_attrib_location"
"GL_OVR_multiview2"
"GL_NV_texture_compression_vtc"
"GL_EXT_draw_buffers2"
"GL_ARB_polygon_offset_clamp"
"GL_ARB_texture_rectangle"
"GL_EXT_win32_keyed_mutex"
"GL_EXT_framebuffer_sRGB"
"GL_NV_copy_image"
"GL_NV_gpu_multicast"
"GL_ARB_timer_query"
"GL_ARB_robustness"
"GL_NV_shader_atomic_int64"
"GL_EXT_Cg_shader"
"GL_NV_framebuffer_mixed_samples"
"GL_SGIS_generate_mipmap"
"GL_NV_depth_clamp"
"GL_ARB_texture_compression"
"GL_KHR_no_error"
"GL_EXT_shader_image_load_store"
"GL_EXT_packed_pixels"
"GL_ARB_compute_variable_group_size"
"GL_KHR_parallel_shader_compile"
"GL_NV_blend_square"
"GL_NV_register_combiners"
"GL_ARB_shader_texture_lod"
"GL_ARB_vertex_attrib_binding"
"GL_EXT_draw_range_elements"
"GL_KHR_shader_subgroup"
"GL_EXT_packed_depth_stencil"
"GL_ARB_get_program_binary"
"GL_ARB_transpose_matrix"
"GL_ARB_fragment_shader_interlock"
"GL_NV_shader_thread_shuffle"
"GL_EXT_bindable_uniform"
"GL_ARB_shading_language_420pack"
"GL_ARB_texture_rgb10_a2ui"
"GL_EXT_texture_swizzle"
"GL_EXT_sparse_texture2"
"GL_ARB_provoking_vertex"
"GL_NV_ES3_1_compatibility"
"GL_EXT_depth_bounds_test"
"GL_ARB_depth_buffer_float"
"GL_ARB_pipeline_statistics_query"
"GL_EXT_stencil_two_side"
"GL_NV_multisample_coverage"
"GL_ARB_texture_filter_anisotropic"
"GL_KHR_context_flush_control"
"GL_ARB_texture_query_levels"
"GL_NV_vertex_array_range2"
"GL_ARB_copy_image"
"GL_EXT_separate_specular_color"
"GL_ARB_derivative_control"
"GL_ATI_draw_buffers"
"GL_ARB_debug_output"
"GL_EXT_texture_mirror_clamp"
"GL_NV_gpu_shader5"
"GL_EXT_shadow_funcs"
"GL_EXT_secondary_color"
"GL_NV_vertex_program1_1"
"GL_NV_copy_depth_to_color"
"GL_NV_texgen_reflection"
"GL_ARB_conservative_depth"
"GL_EXT_memory_object_win32"
"GL_NV_vertex_program2"
"GL_ARB_framebuffer_sRGB"
"GL_NVX_gpu_multicast2"
"GL_ARB_draw_buffers_blend"
"GL_ARB_texture_buffer_range"
"GL_EXT_gpu_program_parameters"
"GL_EXT_blend_equation_separate"
"GL_ARB_shader_atomic_counters"
"GL_NV_half_float"
"GL_IBM_texture_mirrored_repeat"
"GL_NV_bindless_multi_draw_indirect"
"GL_ARB_draw_elements_base_vertex"
"GL_NV_internalformat_sample_query"
"GL_EXT_transform_feedback2"
"GL_NVX_gpu_memory_info"
"GL_NV_geometry_shader_passthrough"
"GL_EXT_gpu_shader4"
"GL_ARB_shader_image_load_store"
"GL_NV_texture_rectangle_compressed"
"GL_EXT_texture_buffer_object"
"GL_ARB_texture_storage"
"GL_NV_shader_subgroup_partitioned"
"GL_ARB_shader_subroutine"
"GL_ARB_texture_multisample"
"GL_ARB_fragment_coord_conventions"
"GL_EXT_texture_lod_bias"
"GL_NV_sample_locations"
"GL_ARB_clip_control"
"GL_KHR_debug"
"GL_ARB_vertex_type_2_10_10_10_rev"
"GL_NV_fragment_shader_interlock"
"GL_ARB_ES2_compatibility"
"GL_OVR_multiview"
"GL_ARB_map_buffer_range"
"GL_ARB_texture_cube_map_array"
"GL_ARB_vertex_attrib_64bit"
"GL_NV_framebuffer_multisample_coverage"
"GL_NV_shader_atomic_counters"
"GL_EXT_draw_instanced"
"GL_ARB_indirect_parameters"
"GL_EXT_import_sync_object"
"GL_EXT_provoking_vertex"
"GL_NV_query_resource"
"GL_ARB_transform_feedback_overflow_query"
"GL_ARB_fragment_program_shadow"
"GL_NV_packed_depth_stencil"
"GL_ARB_fragment_shader"
"GL_ARB_shading_language_packing"
"GL_NV_uniform_buffer_unified_memory"
"GL_SGIX_depth_texture"
"GL_NV_vertex_program"
"GL_ARB_occlusion_query"
"GL_EXT_packed_float"
"GL_ARB_texture_compression_rgtc"
"GL_NV_vertex_array_range"
"GL_ARB_explicit_uniform_location"
"GL_NV_shader_thread_group"
"GL_ARB_cull_distance"
"GL_NV_parameter_buffer_object"
"GL_ARB_map_buffer_alignment"
"GL_ARB_window_pos"
"GL_AMD_vertex_shader_viewport_index"
"GL_EXT_semaphore_win32"
"GL_ARB_geometry_shader4"
"GL_EXT_window_rectangles"
"GL_NV_shader_buffer_load"
"GL_ARB_imaging"
"GL_EXT_vertex_array"
"GL_EXT_texture_sRGB"
"GL_ARB_texture_filter_minmax"
"GL_EXT_blend_subtract"
"GL_ARB_transform_feedback2"
"GL_S3_s3tc"
"GL_NV_bindless_texture"
"GL_ARB_texture_cube_map"
"GL_ARB_shader_atomic_counter_ops"
"GL_ARB_query_buffer_object"
"GL_NV_conditional_render"
"GL_ARB_depth_texture"
"GL_NV_query_resource_tag"
"GL_EXT_blend_minmax"
QPA OpenGL Detection Info
supportsDesktopGL: true
supportsAngleD3D11: true
isQtPreferAngle: true
useBufferInvalidation (config option): false
Hardware Information
GPU Acceleration: desktop
Memory: 32686 Mb
Number of Cores: 16
Swap Location: C:/Users/owner/AppData/Local/Temp
Current Settings
Current Swap Location: C:/Users/owner/AppData/Local/Temp
Current Swap Location writable: true
Undo Enabled: true
Undo Stack Limit: 990
Use OpenGL: true
Use OpenGL Texture Buffer: false
Disable Vector Optimizations: false
Disable AVX Optimizations: false
Canvas State: OPENGL_SUCCESS
Autosave Interval: 120
Use Backup Files: false
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: \\.\DISPLAY1
Depth: 32
Scale: 1
Resolution in pixels: 2560x1440
Manufacturer:
Model:
Refresh Rate: 59
*** Bug 452471 has been marked as a duplicate of this bug. *** Git commit 9eb5f8d4aa8e48235c0121a884ba4d3397c23819 by Alvin Wong. Committed on 14/04/2022 at 14:29. Pushed by alvinwong into branch 'master'. Clip canvas update rects to widget rect Sometimes canvas updates will be requested with rects that clips outside of the wddget rect. If they are passed to KisOpenGLCanvasRenderer we may end up setting glScissor with out-of-bounds rect, which seems to break ANGLE and OpenGL drivers occasionally. We should always clip these rects within the widget rect so that we don't get an invalid scissor box.. M +13 -4 libs/ui/canvas/kis_canvas2.cpp M +1 -1 libs/ui/opengl/kis_opengl_canvas2.cpp https://invent.kde.org/graphics/krita/commit/9eb5f8d4aa8e48235c0121a884ba4d3397c23819 Please let me know if this is fixed on the latest nightly. Yes, it is fixed as far as I tested. I don't see any glitches anymore. I'll post if it happens again. |
Created attachment 147708 [details] capture SUMMARY 5.1.0-prealpha (git 371836e) Renderer : Angle Scaling Mode : High Quality Texture buffer : Off It appears when making big brushstrokes, and it's instantly gone when I move the canvas but appears again when I start to paint again. STEPS TO REPRODUCE 1. 2. 3. OBSERVED RESULT EXPECTED RESULT SOFTWARE/OS VERSIONS Windows: Win10 macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION