Beginning with the series ending in: 9926af0e7195c245d6b9d11b0fee6ba146987dbf Author: Dave Airlie <airlied@redhat.com> mesa/st: fix atomic buffer sizing to align with ssbo. This respects the size from the range setting like ssbo. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> The following tests regressed on IVB+: ES31-CTS.core.shader_atomic_counters.basic-buffer-bind ES31-CTS.functional.state_query.indexed.atomic_counter_buffer_size_getbooleani_v ES31-CTS.functional.state_query.indexed.atomic_counter_buffer_size_getinteger64i_v ES31-CTS.functional.state_query.indexed.atomic_counter_buffer_size_getintegeri_v ES31-CTS.functional.state_query.indexed.atomic_counter_buffer_start_getbooleani_v ES31-CTS.functional.state_query.indexed.atomic_counter_buffer_start_getinteger64i_v ES31-CTS.functional.state_query.indexed.atomic_counter_buffer_start_getintegeri_v Also, ES32 variants regressed with the same errors. Sample output: ----------------------------------------------------------------------- ES31-CTS.core.shader_atomic_counters.basic-buffer-bind Atomic Counter Buffer - binding Verify that binding buffer objects to ATOMIC_COUNTER_BUFFER (indexed) target works as expected. In particualr make sure that binding with BindBufferBase and BindBufferRange also bind to generic binding point and deleting buffer that is currently bound unbinds it. Tested commands: BindBuffer, BindBufferBase and BindBufferRange. glGetIntegerv(GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, 0x00007ffe4f950128); // data = { 90 } MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: 90 glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING, 0x00007ffe4f9500e8); // data = { 0 } glGetInteger64v(GL_ATOMIC_COUNTER_BUFFER_BINDING, 0x00007ffe4f9500e0); // data = { 0 } glGetFloatv(GL_ATOMIC_COUNTER_BUFFER_BINDING, 0x00007ffe4f9500dc); // data = { 0 } glGetBooleanv(GL_ATOMIC_COUNTER_BUFFER_BINDING, 0x00007ffe4f9500db); // data = { GL_FALSE } glGetIntegeri_v(GL_ATOMIC_COUNTER_BUFFER_BINDING, 0, 0x00007ffe4f9500f8); // data = { 0 } glGetInteger64i_v(GL_ATOMIC_COUNTER_BUFFER_BINDING, 0, 0x00007ffe4f9500f0); // data = { 0 } glGetInteger64i_v(GL_ATOMIC_COUNTER_BUFFER_START, 0, 0x00007ffe4f9500f0); // data = { -1 } GL_ATOMIC_COUNTER_BUFFER_START state is incorrect (GetInteger64i_v, is: -1, expected: 0, index: 0) glGetInteger64i_v(GL_ATOMIC_COUNTER_BUFFER_SIZE, 0, 0x00007ffe4f9500f0); // data = { -1 } GL_ATOMIC_COUNTER_BUFFER_SIZE state is incorrect (GetInteger64i_v, is: -1, expected: (0 or 0), index: 0) Test Run() failed glDeleteBuffers(1, { 0 }); -----------------------------------------------------------------------
the specific bisect is to: 65d3ef7cd4f3debbd51b8a8bc95b88fc32f18ded Author: Dave Airlie <airlied@redhat.com> mesa: align atomic buffer handling code with ubo/ssbo (v1.1)
Patch on the list to fix this bug: https://patchwork.freedesktop.org/patch/181934/
commit 26f1ba94a384718e0e5974c10d4f758459ef0b10 Author: Dave Airlie <airlied@redhat.com> Date: Thu Oct 12 09:32:14 2017 +1000 mesa/bufferobj: fix atomic offset/size get When I realigned the bufferobj code, I didn't see the getters were different, realign the getters to work the same as ssbo. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103214 Fixes: 65d3ef7cd (mesa: align atomic buffer handling code with ubo/ssbo (v1.1)) Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Tested-by: Mark Janes <mark.a.janes@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
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.