Bug 101983 - [G33] ES2-CTS.functional.shaders.struct.uniform.sampler_nested* regression
Summary: [G33] ES2-CTS.functional.shaders.struct.uniform.sampler_nested* regression
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: 17.2
Hardware: Other All
: medium normal
Assignee: Timothy Arceri
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 101911
  Show dependency treegraph
 
Reported: 2017-07-31 15:40 UTC by Mark Janes
Modified: 2017-08-14 22:31 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Mark Janes 2017-07-31 15:40:30 UTC
Bisected to:
fcbb93e860246375d03f280f927f79d3645a8988
Author:     Timothy Arceri <tarceri@itsqueeze.com>
mesa: stop assigning unused storage for non-bindless opaque types

The storage was once used by get_sampler_uniform_value() but that
was fixed long ago to use the uniform storage assigned by the
linker.

By not assigning storage for images/samplers the constant buffer
for gallium drivers will be reduced which could result in small
perf improvements.

V2: rebase on ARB_bindless_texture
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>

Test output:
ES2-CTS.functional.shaders.struct.uniform.sampler_nested_vertex
Image comparison failed: difference = 12576.9, threshold = 0.05
Comment 1 Samuel Pitoiset 2017-07-31 19:54:45 UTC
Thanks for reporting this Mark, I can confirm the issue on my side.
Comment 2 Timothy Arceri 2017-08-01 07:37:47 UTC
Mesa fixes:

https://patchwork.freedesktop.org/series/28176/

An additional piglit test that captures an additional bug not covered by the CTS:

https://patchwork.freedesktop.org/patch/169743/
Comment 3 Timothy Arceri 2017-08-14 22:31:55 UTC
Should be fixed by:

commit	365d34540f331df57780dddf8da87235be0a6bcb
mesa: correctly calculate the storage offset for i915
When generating the storage offset for struct members we need
to skip opaque types as they no longer have backing storage.

Fixes: fcbb93e86024 ("mesa: stop assigning unused storage for non-bindless opaque types")

V2: simplify since bindless will never be supported in this code

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101983
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

and

commit	de0e62e1065e2d9172acf3ab7c70bba0160125c8
st/mesa: correctly calculate the storage offset
When generating the storage offset for struct members we need
to skip opaque types as they no longer have backing storage.

Fixes: fcbb93e86024 ("mesa: stop assigning unused storage for non-bindless opaque types")

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101983
Reviewed-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.