[Mesa-dev] [PATCH 4/7] i965: Compile out gen[467]_atoms lists based on STATIC_GEN.
Kristian Høgsberg
hoegsberg at gmail.com
Wed Jun 11 14:12:17 PDT 2014
On Tue, Jun 10, 2014 at 09:57:20PM -0700, Matt Turner wrote:
> From: Kenneth Graunke <kenneth at whitecape.org>
>
> This allows GCC (at least with LTO) to eliminate more unused code, such
> as brw_clip* on Gen6+.
If we compile with STATIC_GEN, then the if-else ladder in brw_init_state()
turns into just the one case that matters. All other atom arrays are
unreferenced and eliminated (at least if you're not compiling with -O0), so
this patch isn't necessary.
Kristian
> ---
> src/mesa/drivers/dri/i965/brw_state_upload.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c
> index 3a452c3..2ef97f4 100644
> --- a/src/mesa/drivers/dri/i965/brw_state_upload.c
> +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c
> @@ -39,6 +39,7 @@
>
> static const struct brw_tracked_state *gen4_atoms[] =
> {
> +#if defined(STATIC_GEN) && STATIC_GEN < 6
> &brw_vs_prog, /* must do before GS prog, state base address. */
> &brw_ff_gs_prog, /* must do before state base address */
>
> @@ -103,10 +104,12 @@ static const struct brw_tracked_state *gen4_atoms[] =
> &brw_vertices,
>
> &brw_constant_buffer
> +#endif
> };
>
> static const struct brw_tracked_state *gen6_atoms[] =
> {
> +#if defined(STATIC_GEN) && STATIC_GEN == 6
> &brw_vs_prog, /* must do before state base address */
> &brw_ff_gs_prog, /* must do before state base address */
> &brw_wm_prog, /* must do before state base address */
> @@ -172,10 +175,12 @@ static const struct brw_tracked_state *gen6_atoms[] =
> &brw_indices,
> &brw_index_buffer,
> &brw_vertices,
> +#endif
> };
>
> static const struct brw_tracked_state *gen7_atoms[] =
> {
> +#if defined(STATIC_GEN) && STATIC_GEN == 7
> &brw_vs_prog,
> &brw_gs_prog,
> &brw_wm_prog,
> @@ -249,6 +254,7 @@ static const struct brw_tracked_state *gen7_atoms[] =
> &brw_vertices,
>
> &haswell_cut_index,
> +#endif
> };
>
> static const struct brw_tracked_state *gen8_atoms[] =
> --
> 1.8.3.2
>
> _______________________________________________
> 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