dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 108261] [amdgpu][GL_ARB_bindless_texture][opengl 4] GPU hang on AMD Raven
Date: Sat, 06 Oct 2018 20:07:38 +0000	[thread overview]
Message-ID: <bug-108261-502@http.bugs.freedesktop.org/> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 2930 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=108261

            Bug ID: 108261
           Summary: [amdgpu][GL_ARB_bindless_texture][opengl 4] GPU hang
                    on AMD Raven
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/radeonsi
          Assignee: dri-devel@lists.freedesktop.org
          Reporter: RobusGrobus95@gmail.com
        QA Contact: dri-devel@lists.freedesktop.org

GPU hang appears when trying to render scene to FBO (framebuffer object) with
attached texture with resident handle, but if all the handles of attached
texture are not reesident (or if there is no handles), hang disappears. For
example this pseudocode causes GPU hang:
  GLuint renderbufId;
  glCreateRenderbuffers(1, &renderbufId);
  glNamedRenderbufferStorage(renderbufId, GL_DEPTH_COMPONENT, width(),
height());

  GLuint texId;
  glCreateTextures(GL_TEXTURE_2D, 1, &texId);
  glTextureStorage2D(texId, 1, GL_RGBA8, width(), height());

  GLuint64 handle = glGetTextureHandleARB(texId);
  glMakeTextureHandleResidentARB(handle);

  glBindFramebuffer(GL_FRAMEBUFFER, fboID);
  glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, texId, 0);
  glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
GL_RENDERBUFFER, rboId);
  //render some triangles
  glBindFramebuffer(GL_FRAMEBUFFER, 0);
  //render main scene
  glSwapBuffers();

And this not:
  GLuint renderbufId;
  glCreateRenderbuffers(1, &renderbufId);
  glNamedRenderbufferStorage(renderbufId, GL_DEPTH_COMPONENT, width(),
height());

  GLuint texId;
  glCreateTextures(GL_TEXTURE_2D, 1, &texId);
  glTextureStorage2D(texId, 1, GL_RGBA8, width(), height());

  GLuint64 handle = glGetTextureHandleARB(texId);
  std::cout << handle << std::endl; //prevent optimizing out

  glBindFramebuffer(GL_FRAMEBUFFER, fboID);
  glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, texId, 0);
  glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
GL_RENDERBUFFER, rboId);
  //render some triangles
  glBindFramebuffer(GL_FRAMEBUFFER, 0);
  //render main scene
  glSwapBuffers();

I can try to write full cpp sample for exposing the hang, if it's needed. There
is already open source graphic engine (my "pet" project) affected by the hang,
but code is quite complex (https://gitlab.com/KawaiiGraphics/Kawaii3D
https://gitlab.com/KawaiiGraphics/Misaka3D ; 
workaround added in commit b53d98dacff2b0392c2143c8901289e93ddd8623, so only
previous versions are affected).

My hardware:
APU: AMD Ryzen 5 2400G (with integrated GPU Radeon Vega 11 Graphics)
System board: MSI AM4 X470 Gaming Pro
RAM: Goodram Iridium 16Gb (8+8 Gb dual-channel 2800MHz)

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 4451 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

             reply	other threads:[~2018-10-06 20:07 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-06 20:07 bugzilla-daemon [this message]
2018-10-06 20:09 ` [Bug 108261] [amdgpu][GL_ARB_bindless_texture][opengl 4] GPU hang on AMD Raven bugzilla-daemon
2018-10-06 20:13 ` bugzilla-daemon
2018-11-26 11:32 ` bugzilla-daemon
2018-11-27  7:56 ` bugzilla-daemon
2019-09-25 18:10 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-108261-502@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon@freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox