[Bug 90175] New: [hsw bisected][PATCH] atomic counters doesn't work for a binding point different to zero

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Apr 25 09:37:08 PDT 2015


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

            Bug ID: 90175
           Summary: [hsw bisected][PATCH] atomic counters doesn't work for
                    a binding point different to zero
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: glsl-compiler
          Assignee: idr at freedesktop.org
          Reporter: apinheiro at igalia.com
        QA Contact: intel-3d-bugs at lists.freedesktop.org

Created attachment 115325
  --> https://bugs.freedesktop.org/attachment.cgi?id=115325&action=edit
Simple program to test the bug

When using atomic counters on a shader, the spec [1] says that the binding
point may be bound using BindBufferBase or BindBufferRange. The binding point
will be referenced on the shader. Even if you use the default 0, you should
call this method.

At this moment, only zero works. Im attaching a small test showing this. The
example is using 1 for the binding. If the number is both replaced on the code
and on the shader to zero, it works properly.

It fails with current master, but works with mesa installed on my system
(10.3.2). After bisecting, this is the commit that caused the issue:

commit c0cd5bedf66887e958e140c047afc5bc26160000
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Jul 14 15:48:36 2014 -0700

    glsl: Eliminate ir_variable::data.atomic.buffer_index

    Just use ir_variable::data.binding... because that's the where the
    binding is stored for everything else that can use layout(binding=).

    Valgrind massif results for a trimmed apitrace of dota2:

                      n        time(i)         total(B)   useful-heap(B)
extra-heap(B)    stacks(B)
    Before (32-bit): 50 40,564,927,443       69,185,408       63,683,871    
5,501,537            0
    After  (32-bit): 74 40,580,119,657       69,186,544       63,506,327    
5,680,217            0

    Before (64-bit): 59 36,822,048,449       96,526,888       89,113,000    
7,413,888            0
    After  (64-bit): 89 36,822,971,897       96,526,616       88,735,296    
7,791,320            0

    A real savings of 173KiB on 32-bit and 368KiB on 64-bit.

    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

[1] https://www.opengl.org/registry/specs/ARB/shader_atomic_counters.txt

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20150425/6e6b1163/attachment.html>


More information about the intel-3d-bugs mailing list