Description
Julien Isorce
2017-03-01 17:45:25 UTC
Created attachment 130006 [details]
lspic -s -v
Created attachment 130008 [details]
dmesg
Created attachment 130009 [details]
Xorg.log
Created attachment 130011 [details]
max-texture-size2 backtrace untill ENOMEM
Created attachment 130012 [details]
default output of max-texture-size2 test
Created attachment 130013 [details]
output of max-texture-size2 test with MESA_VERBOSE
Created attachment 130014 [details]
output of max-texture-size2 test with MESA_VERBOSE and R600_DEBUG
Created attachment 130015 [details]
output of max-texture-size2 test with USE_FENCE workaround
Created attachment 130016 [details] [review] patch for mesa to translate the radeonsi printf ENOMEM to a proper GL_OUT_OF_MEMORY Created attachment 130018 [details]
output of max-texture-size2 test with attached patch for mesa
I don't think there's a kernel-side bug here — it simply runs out of graphics memory, and correctly reports that to userspace. Hi Michel. Thx you for your comment. In a way it is a good and only my attached mesa will be needed to fix the test. I will send it to the mailing list. But I still do not properly understand why there is not enough graphic memory because lspci reports 2048M. And there are some contradictions depending on the subSize for the test sequence which is: for i in 0 1: glGenTextures glTexImage2D maxSize glTexSubImage2D subSize = maxSize / 2. glDeleteTextures A: The kernel trace ENOMEM appears with: subSize = maxSize - 1 -> "radeon: Failed to allocate a buffer" subSize = 3 * maxSize / 4 -> "radeon: Failed to allocate a buffer" subSize = maxSize / 2 -> "radeon: Not enough memory for command submission" B: It works with: subSize = maxSize subSize = maxSize / 4 Isn't A and B a contradiction ? For me A should succeeds because glDeteteTextures should . Also note that on other Also by calling glFush() within an additional loop iteration i = 2, it can recover so it will fail for iteration i = 1 but succeeds for i = 2. So what could the explanation here ? Should the driver just flush the cs automatically in that case like it does for subSize = maxSize ? Sorry I am just trying to understand :). Thx! Oups the part "because glDeteteTextures should . Also note that on other" of my comment should have been removed. Created attachment 130023 [details] [review] new piglit test max-texture-size2 to reproduce the problem Typo fix "maxSide -> maxSize" and some cleanup. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1257. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.