From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 97305] Wrong values returned by GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT & GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT randomly breaks stuff
Date: Thu, 11 Aug 2016 19:53:09 +0000 [thread overview]
Message-ID: <bug-97305-502@http.bugs.freedesktop.org/> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 2592 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=97305
Bug ID: 97305
Summary: Wrong values returned by
GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT &
GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT randomly breaks
stuff
Product: Mesa
Version: git
Hardware: All
OS: All
Status: NEW
Severity: critical
Priority: medium
Component: Drivers/Gallium/radeonsi
Assignee: dri-devel@lists.freedesktop.org
Reporter: dark_sylinc@yahoo.com.ar
QA Contact: dri-devel@lists.freedesktop.org
I'm the main developer of Ogre 2.1
We're trying our demos in latest Mesa:
I've built Mesa from scratch. Tried commits git-edfc17a (current head of branch
12.0) and commit 17f1c49b9ad05af4f6482f6fa950e5dcc1a779d1 (current head of
master branch)
Almost all of them work except for the compute shader based ones (Googling
around it appears for Southern Island radeon it could be buggy so it was turned
off. Not 100% sure but I think that's what's happening).
Anyway, not a big deal on that. I understand the Mesa team considers that WIP.
Move on.
However our Forward3D demo was glitching and I didn't know why. I've
investigated the problem and located it:
* glGetIntegerv w/ GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT is returning 4, should
return 256 for my HW (GCN 1.0 AMD Radeon HD 7770 Southern Islands).
* glGetIntegerv w/ GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT is returning 4, should
return 256 for my HW.
In both cases "256" is what Windows drivers return btw, including fglrx on
Linux.
When aligned to 4 bytes; the following worked correctly:
glTexBufferRange( GL_TEXTURE_BUFFER, GL_R32UI, boName,
offsetAlignedTo4ButNotTo256, sizeBytes );
uniform usamplerBuffer f3dGrid;
uint numLightsInGrid = texelFetch( f3dGrid, int(sampleOffset) ).x;
But the following did not:
glTexBufferRange( GL_TEXTURE_BUFFER, GL_RGBA32F, boName,
offsetAlignedTo4ButNotTo256, sizeBytes );
uniform samplerBuffer f3dLightList;
vec4 values = texelFetch( f3dLightList, int(sampleOffset) ).x;
The output of the latter was flickering garbage. When I forced 256 byte
alignment, it worked as expected.
I consider this a critical issue because I suspect it's causing subtle problems
with a lot of titles whose buffer offsets don't start at 0.
I believe NVIDIA GPUs also require buffer offsets of 256. I don't know about
Intel cards.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 3990 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
next reply other threads:[~2016-08-11 19:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-11 19:53 bugzilla-daemon [this message]
2016-08-11 20:06 ` [Bug 97305] Wrong values returned by GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT & GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT randomly breaks stuff bugzilla-daemon
2016-08-11 20:17 ` bugzilla-daemon
2016-08-11 20:30 ` bugzilla-daemon
2016-08-11 20:31 ` bugzilla-daemon
2016-08-11 22:12 ` bugzilla-daemon
2016-08-11 22:18 ` bugzilla-daemon
2016-08-11 22:22 ` bugzilla-daemon
2016-08-11 22:28 ` bugzilla-daemon
2016-08-11 22:39 ` bugzilla-daemon
2016-08-11 22:42 ` bugzilla-daemon
2016-08-11 22:50 ` bugzilla-daemon
2016-08-11 22:54 ` bugzilla-daemon
2016-08-11 23:08 ` bugzilla-daemon
2016-08-11 23:48 ` [Bug 97305] Gallium: TBOs and images set the offset in elements, not bytes bugzilla-daemon
2016-08-12 0:01 ` bugzilla-daemon
2016-08-29 15:05 ` bugzilla-daemon
2016-08-29 15:15 ` bugzilla-daemon
2016-08-29 17:42 ` 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-97305-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.