[Mesa-dev] i965: Turn UBOs as push constants
Ben Widawsky
ben at bwidawsk.net
Fri Sep 11 15:42:22 PDT 2015
On Fri, Sep 11, 2015 at 11:33:14AM +0300, Abdiel Janulgue wrote:
> Some updated figures first:
>
> Ue4 Reflections Subway demo
> x fs gather constants disabled
> + fs gather constants enabled
>
> HSW:
> N Min Max Median Avg Stddev
> x 10 5.09739 6.48963 6.33357 6.197985 0.40742969
> + 10 6.56139 6.86579 6.80952 6.758516 0.10267153
> Difference at 95.0% confidence
> 0.560531 ± 0.279157
> 9.04376% ± 4.50399%
> (Student's t, pooled s = 0.297103)
>
> BDW:
> N Min Max Median Avg Stddev
> x 10 3.64474 3.69746 3.68596 3.67842 0.015452422
> + 10 3.77998 3.80967 3.79824 3.795633 0.0079241642
> Difference at 95.0% confidence
> 0.117213 ± 0.0115377
> 3.1865% ± 0.31366%
> (Student's t, pooled s = 0.0122794)
Does this imply that's the only benchmark which improved, or that it was the
only one which was run?
>
> This patch series is taken from my initial gather constants series last April.
> Now that the basic i965 resource streamer infrastructure is in place, these are
> the remaining bits to enable the gather constants hardware[*]. I've tried to
> address the comments from the reviews that happened since then.
>
> Major changes from last posting is we now support GEN8. Also the vec4 backend
> gather constant support is probably no longer relevant because of the switch
> to NIR. But I've included it here so people interested on implementing it on
> the vec4-NIR backend can have a reference point.
>
> The series has no piglit regressions.
>
> [PATCH 01/20] i965: Define gather push constants opcodes
> [PATCH 02/20] i965: Enable gather push constants
> [PATCH 03/20] i965: Allocate space on the gather pool for plain
> [PATCH 04/20] i965: Allocate space on the gather pool for UBO entries
> [PATCH 05/20] i965: Store gather table information in the program
> [PATCH 06/20] i965: Assign hw-binding table index for each UBO
> [PATCH 07/20] i965: Assign hw-binding table index for uniform
> [PATCH 08/20] nir: Add glsl_get_array_size() wrapper.
> [PATCH 09/20] nir: Add glsl_get_type_without_array() wrapper
> [PATCH 10/20] i965: Include UBO parameter sizes in push constant
> [PATCH 11/20] i965/fs: Append uniform entries to the gather table
> [PATCH 12/20] i965/fs/nir: Append nir_intrinsic_load_ubo entries to
> [PATCH 13/20] i965/fs: Pack UBO registers right after uniform
> [PATCH 14/20] i965/vec4: Append uniform entries to the gather table
> [PATCH 15/20] i965/vec4: Append ir_binop_ubo_load entries to the
> [PATCH 16/20] i965/vec4: Pack UBO registers right after uniform
> [PATCH 17/20] i965: Upload UBO surfaces before emitting constant
> [PATCH 18/20] i965: Program the push constants state using the gather
> [PATCH 19/20] i965: Disable gather push constants for null constants
> [PATCH 20/20] i965: Enable push constants for UBOs
>
> -Abdiel
>
> --
> [*] http://lists.freedesktop.org/archives/mesa-dev/2015-April/082991.html
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list