njbrown / texturelab

Free, Cross-Platform, GPU-Accelerated Procedural Texture Generator
Other
735 stars 45 forks source link

stonegrass example causes GPU timeout on its default resolution (and higher) #68

Open 20kdc opened 1 year ago

20kdc commented 1 year ago

The stonegrass example, if left at its default resolution of 1024x1024, causes GPU timeouts (at least with amdgpu.gpu_recovery=1).

The GPU recovery is followed by the complete failure of texturelab's rendered UI elements, as shown here:

image

From looking at the rendering timings, my theory is that this is due to an intensive use of the Tile Sampler node.

It is worth noting that the following two steps avoid the crash:

  1. Extremely quickly after loading the file, change the resolution to 512x512 from its default of 1024x1024. If done in time (feature request: update mode of 'None' that persists across loaded files), the crash will be averted.
  2. After performing 1, one may reduce the row and column counts to 30x30 - it will then be safe to increase resolution to 1024x1024. It is not safe to increase resolution to 2048x2048.

OS: Ubuntu 22.04.1 LTS (Ubuntu MATE with compositor disabled) Hardware: AMD Ryzen 3 3200U with Radeon Vega Mobile Gfx

glxinfo Extended renderer info details:

Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon Vega 3 Graphics (raven2, LLVM 13.0.1, DRM 3.42, 5.15.0-52
-generic) (0x15d8)
    Version: 22.0.5
    Accelerated: yes
    Video memory: 2048MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2

dmesg header (kernel command-line options, etc.):

[    0.000000] Linux version 5.15.0-52-generic (buildd@lcy02-amd64-032) (gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #58-Ubuntu SMP Thu Oct 13 08:03:55 UTC 2022 (Ubuntu 5.15.0-52.58-generic 5.15.60)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.15.0-52-generic root=UUID=6e30e75a-1dc6-4bf9-8298-b9b7eaf57cdc ro amdgpu.gpu_recovery=1 amdgpu.gpu_recovery=1 quiet splash vt.handoff=7

dmesg output caused by timeouts:

[24391.081498] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, but soft recovered
[24436.906387] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, but soft recovered
[24554.667974] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, but soft recovered