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

Samuel Pitoiset <samuel.pitoi...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |major
          Component|Drivers/DRI/nouveau         |glsl-compiler
                 CC|                            |kenn...@whitecape.org,
                   |                            |samuel.pitoi...@gmail.com
           Assignee|nouveau@lists.freedesktop.o |i...@freedesktop.org
                   |rg                          |
         QA Contact|nouveau@lists.freedesktop.o |intel-3d-bugs@lists.freedes
                   |rg                          |ktop.org

--- Comment #4 from Samuel Pitoiset <samuel.pitoi...@gmail.com> ---
So, the issue is that the count_uniforms_size pass which is used to calculate
the storage requirements for a set of uniform has a bug for constant arrays.

The problem is that the pass aggregates the size of a constant array each time
it finds a reference in the shader source.

For example, in the attached shader, the lowering pass returns 95484k of
uniforms but it should be 1308k (327*4) (+ some other things). The 95484 is
computed as follow: 327 * 4 * 73 (number of occurences of icb in the shader).

I had a look at the code, and I think that the correct solution should be to do
this lowering pass only once for constant arrays (this will require to somehow
remember which one has been lowered though).

Ken, can you look into this?
Thanks in advance.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to