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