Mesa (master): st/mesa/r200/i915/i965: move ARB program fields into a union

Timothy Arceri tarceri at kemper.freedesktop.org
Thu Nov 17 01:53:25 UTC 2016


Module: Mesa
Branch: master
Commit: c3df65c123c6392b0b116900395a89fd3dbb9b85
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3df65c123c6392b0b116900395a89fd3dbb9b85

Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Thu Nov 17 10:52:28 2016 +1100

st/mesa/r200/i915/i965: move ARB program fields into a union

It's common for games to compile 2000 programs or more so at

32bits x 2000 programs x 22 fields x 2 (at least) stages

This should give us something like 352 kilobytes in savings
once we add some more glsl only fields.

Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

---

 src/mesa/drivers/dri/i915/i915_fragprog.c   | 12 ++--
 src/mesa/drivers/dri/i915/i915_program.c    | 16 ++---
 src/mesa/drivers/dri/i965/brw_program.c     |  4 +-
 src/mesa/drivers/dri/r200/r200_state_init.c |  4 +-
 src/mesa/drivers/dri/r200/r200_vertprog.c   | 36 ++++++------
 src/mesa/main/arbprogram.c                  | 41 +++++++------
 src/mesa/main/ffvertex_prog.c               | 32 +++++-----
 src/mesa/main/mtypes.h                      | 91 +++++++++++++++--------------
 src/mesa/main/state.c                       |  4 +-
 src/mesa/program/arbprogparse.c             | 68 ++++++++++-----------
 src/mesa/program/ir_to_mesa.cpp             | 12 ++--
 src/mesa/program/prog_execute.c             | 18 +++---
 src/mesa/program/prog_opt_constant_fold.c   |  4 +-
 src/mesa/program/prog_optimize.c            | 53 ++++++++---------
 src/mesa/program/prog_print.c               | 17 +++---
 src/mesa/program/prog_statevars.c           | 18 +++---
 src/mesa/program/prog_to_nir.c              | 12 ++--
 src/mesa/program/program.c                  | 36 ++++++------
 src/mesa/program/program_parse.y            | 51 ++++++++--------
 src/mesa/program/programopt.c               | 69 +++++++++++-----------
 src/mesa/state_tracker/st_atifs_to_tgsi.c   |  6 +-
 src/mesa/state_tracker/st_mesa_to_tgsi.c    | 14 ++---
 src/mesa/state_tracker/st_program.c         |  2 +-
 src/mesa/swrast/s_fragprog.c                |  2 +-
 src/mesa/tnl/t_vb_program.c                 |  4 +-
 25 files changed, 319 insertions(+), 307 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=c3df65c123c6392b0b116900395a89fd3dbb9b85



More information about the mesa-commit mailing list