Mesa (master): r600g: avoid dynamic allocation of states

Jerome Glisse glisse at kemper.freedesktop.org
Wed Sep 1 17:17:07 UTC 2010


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

Author: Jerome Glisse <jglisse at redhat.com>
Date:   Mon Aug 30 17:56:59 2010 -0400

r600g: avoid dynamic allocation of states

Make state statically allocated, this kills a bunch of code
and avoid intensive use of malloc/free. There is still a lot
of useless duplicate function wrapping that can be kill. This
doesn't improve yet performance, needs to avoid memcpy states
in radeon_ctx_set_draw and to avoid rebuilding vs_resources,
dsa, scissor, cb_cntl, ... states at each draw command.

Signed-off-by: Jerome Glisse <jglisse at redhat.com>

---

 src/gallium/drivers/r600/r600_blit.c       |  415 +++++++---------------------
 src/gallium/drivers/r600/r600_context.c    |  142 +++++-----
 src/gallium/drivers/r600/r600_context.h    |   31 +--
 src/gallium/drivers/r600/r600_draw.c       |   92 +++----
 src/gallium/drivers/r600/r600_query.c      |   48 ++--
 src/gallium/drivers/r600/r600_resource.h   |    8 +-
 src/gallium/drivers/r600/r600_shader.c     |   32 +--
 src/gallium/drivers/r600/r600_state.c      |  386 ++++++--------------------
 src/gallium/drivers/r600/r600_texture.c    |  100 ++-----
 src/gallium/drivers/r600/radeon.h          |   72 ++---
 src/gallium/targets/dri-r600/Makefile      |    4 +-
 src/gallium/winsys/r600/drm/r600_state.c   |    4 +-
 src/gallium/winsys/r600/drm/radeon.c       |   26 +-
 src/gallium/winsys/r600/drm/radeon_ctx.c   |  219 ++++++---------
 src/gallium/winsys/r600/drm/radeon_draw.c  |  113 +-------
 src/gallium/winsys/r600/drm/radeon_priv.h  |   13 +-
 src/gallium/winsys/r600/drm/radeon_state.c |   55 +----
 17 files changed, 523 insertions(+), 1237 deletions(-)

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



More information about the mesa-commit mailing list