Mesa (master): r600g/sb: get rid of standard c++ streams

Vadim Girlin vadimg at kemper.freedesktop.org
Tue May 14 13:49:24 UTC 2013


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

Author: Vadim Girlin <vadimgirlin at gmail.com>
Date:   Tue May 14 17:08:38 2013 +0400

r600g/sb: get rid of standard c++ streams

Static initialization of internal libstdc++ data related to iostream
causes segfaults with some apps.

This patch replaces all uses of std::ostream and std::ostringstream in sb
with custom lightweight classes.

Prevents segfaults with ut2004demo and probably some other old apps.

Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>

---

 src/gallium/drivers/r600/sb/sb_bc.h              |  121 ++++++++++++-
 src/gallium/drivers/r600/sb/sb_bc_builder.cpp    |    5 -
 src/gallium/drivers/r600/sb/sb_bc_decoder.cpp    |    2 -
 src/gallium/drivers/r600/sb/sb_bc_dump.cpp       |   96 +++++-----
 src/gallium/drivers/r600/sb/sb_bc_finalize.cpp   |   70 ++++----
 src/gallium/drivers/r600/sb/sb_bc_parser.cpp     |   12 +-
 src/gallium/drivers/r600/sb/sb_context.cpp       |    2 +
 src/gallium/drivers/r600/sb/sb_core.cpp          |   47 +++---
 src/gallium/drivers/r600/sb/sb_def_use.cpp       |    7 +-
 src/gallium/drivers/r600/sb/sb_dump.cpp          |  144 +++++++--------
 src/gallium/drivers/r600/sb/sb_gcm.cpp           |  104 +++++------
 src/gallium/drivers/r600/sb/sb_gvn.cpp           |    4 -
 src/gallium/drivers/r600/sb/sb_if_conversion.cpp |   11 +-
 src/gallium/drivers/r600/sb/sb_ir.cpp            |   26 ++--
 src/gallium/drivers/r600/sb/sb_ir.h              |    5 +-
 src/gallium/drivers/r600/sb/sb_liveness.cpp      |   25 +--
 src/gallium/drivers/r600/sb/sb_pass.h            |    8 +-
 src/gallium/drivers/r600/sb/sb_peephole.cpp      |   13 +-
 src/gallium/drivers/r600/sb/sb_ra_checker.cpp    |   22 +--
 src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp   |   60 +++---
 src/gallium/drivers/r600/sb/sb_ra_init.cpp       |   61 +++----
 src/gallium/drivers/r600/sb/sb_sched.cpp         |  217 +++++++++++-----------
 src/gallium/drivers/r600/sb/sb_shader.cpp        |   47 +++---
 src/gallium/drivers/r600/sb/sb_valtable.cpp      |   28 ++--
 24 files changed, 592 insertions(+), 545 deletions(-)

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



More information about the mesa-commit mailing list