[Bug 104492] Compute Shader: Wrong alignment when assigning struct value to structured SSBO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Comment # 4 on bug 104492 from
Maybe the bug is in compiler/glsl/lower_buffer_access.cpp?
https://cgit.freedesktop.org/mesa/mesa/tree/src/compiler/glsl/lower_buffer_access.cpp?id=396c006d907b023f9b187db618ee2a6e4e1b8a85#n51

I'm not sure about the control flow for radeonsi, but if that pass is used in
my setup, and this emit_access() code is used to break down struct derefs into
multiple scalar/array/vec derefs, then it seems like the check for packing ==
GLSL_INTERFACE_STD430 is missing in lines 77/78 and 85, and the std140 layout
is assumed instead. I think that might explain the observed incorrect
behaviour.

In that same file, the check for std430 was added in a few places, like in line
338.

I'd love to give this a try and add checks to use std430_base_alignment() and
std430_size() if appropriate, but I'm not really prepared to compile Mesa
myself right now.

So, if someone who knows this code feels like my suggested change is correct
and required, I'd be more than happy if they could take care of this. Otherwise
I might give it a try myself in some time.


You are receiving this mail because:
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux