[Mesa-dev] [Bug 90081] [llvmpipe] piglit ext_transform_feedback-immediate-reuse-uniform-buffer regression

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Apr 17 19:05:38 PDT 2015


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

            Bug ID: 90081
           Summary: [llvmpipe] piglit
                    ext_transform_feedback-immediate-reuse-uniform-buffer
                    regression
           Product: Mesa
           Version: git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Keywords: bisected, regression
          Severity: normal
          Priority: medium
         Component: Mesa core
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: vlee at freedesktop.org
        QA Contact: mesa-dev at lists.freedesktop.org
                CC: jfonseca at vmware.com, sroland at vmware.com

mesa: 1eac3ae1a6ebecf353054d937dd603a11ea33fb3 (master 10.6.0-devel)

$ ./bin/ext_transform_feedback-immediate-reuse-uniform-buffer -auto
Probe color at (16,0)
  Expected: 0.062500 0.937500 0.062500
  Observed: 0.000000 0.000000 0.000000
Probe color at (32,0)
  Expected: 0.125000 0.875000 0.125000
  Observed: 0.000000 0.000000 0.000000
Probe color at (48,0)
  Expected: 0.187500 0.812500 0.187500
  Observed: 0.000000 0.000000 0.000000
Probe color at (64,0)
  Expected: 0.250000 0.750000 0.250000
  Observed: 0.000000 0.000000 0.000000
Probe color at (80,0)
  Expected: 0.312500 0.687500 0.312500
  Observed: 0.000000 0.000000 0.000000
Probe color at (96,0)
  Expected: 0.375000 0.625000 0.375000
  Observed: 0.000000 0.000000 0.000000
Probe color at (112,0)
  Expected: 0.437500 0.562500 0.437500
  Observed: 0.000000 0.000000 0.000000
Probe color at (128,0)
  Expected: 0.500000 0.500000 0.500000
  Observed: 0.000000 0.000000 0.000000
Probe color at (144,0)
  Expected: 0.562500 0.437500 0.562500
  Observed: 0.000000 0.000000 0.000000
Probe color at (160,0)
  Expected: 0.625000 0.375000 0.625000
  Observed: 0.000000 0.000000 0.000000
Probe color at (176,0)
  Expected: 0.687500 0.312500 0.687500
  Observed: 0.000000 0.000000 0.000000
Probe color at (192,0)
  Expected: 0.750000 0.250000 0.750000
  Observed: 0.000000 0.000000 0.000000
Probe color at (208,0)
  Expected: 0.812500 0.187500 0.812500
  Observed: 0.000000 0.000000 0.000000
Probe color at (224,0)
  Expected: 0.875000 0.125000 0.875000
  Observed: 0.000000 0.000000 0.000000
Probe color at (240,0)
  Expected: 0.937500 0.062500 0.937500
  Observed: 0.000000 0.000000 0.000000
PIGLIT: {"result": "fail" }

586536a4e1c34725b3b38c3425db569fac0c91e9 is the first bad commit
commit 586536a4e1c34725b3b38c3425db569fac0c91e9
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Thu Apr 9 00:49:11 2015 +0200

    gallivm: don't use control flow when doing indirect constant buffer lookups

    llvm goes crazy when doing that, using way more memory and time, though
there's
    probably more to it - this points to a very much similar issue as fixed in
    8a9f5ecdb116d0449d63f7b94efbfa8b205d826f. In any case I've seen a quite
    plain looking vertex shader with just ~50 simple tgsi instructions (but
with a
    dozen or so such indirect constant buffer lookups) go from a terribly high
    ~440ms compile time (consuming 25MB of memory in the process) down to a
still
    awful ~230ms and 13MB with this fix (with llvm 3.3), so there's still
obvious
    improvements possible (but I have no clue why it's so slow...).
    The resulting shader is most likely also faster (certainly seemed so though
    I don't have any hard numbers as it may have been influenced by compile
times)
    since generally fetching constants outside the buffer range is most likely
an
    app error (that is we expect all indices to be valid).
    It is possible this fixes some mysterious vertex shader slowdowns we've
seen
    ever since we are conforming to newer apis at least partially (the main
draw
    loop also has similar looking conditionals which we probably could do
without -
    if not for the fetch at least for the additional elts condition.)

    v2: use static vars for the fake bufs, minor code cleanups

    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

:040000 040000 3d9c36f85b3f7cf81413a06ea0454a4c035ea447
9d2ff2be20f10d6f129bc3e1a9979d2a97a37a79 M    src
bisect run success

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150418/c72f54b4/attachment-0001.html>


More information about the mesa-dev mailing list