r600g/sb: get rid of standard c++ streams
authorVadim Girlin <vadimgirlin@gmail.com>
Tue, 14 May 2013 13:08:38 +0000 (17:08 +0400)
committerVadim Girlin <vadimgirlin@gmail.com>
Tue, 14 May 2013 13:36:25 +0000 (17:36 +0400)
commitecde4b07e2208934a17a09d26c43baf314c10a60
treeecab4397e3d8d6d2e01f328a1b3bdc52fce61acf
parent57d1be0d2d195dac0e08585b6cd098779f7a7bd7
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@gmail.com>
24 files changed:
src/gallium/drivers/r600/sb/sb_bc.h
src/gallium/drivers/r600/sb/sb_bc_builder.cpp
src/gallium/drivers/r600/sb/sb_bc_decoder.cpp
src/gallium/drivers/r600/sb/sb_bc_dump.cpp
src/gallium/drivers/r600/sb/sb_bc_finalize.cpp
src/gallium/drivers/r600/sb/sb_bc_parser.cpp
src/gallium/drivers/r600/sb/sb_context.cpp
src/gallium/drivers/r600/sb/sb_core.cpp
src/gallium/drivers/r600/sb/sb_def_use.cpp
src/gallium/drivers/r600/sb/sb_dump.cpp
src/gallium/drivers/r600/sb/sb_gcm.cpp
src/gallium/drivers/r600/sb/sb_gvn.cpp
src/gallium/drivers/r600/sb/sb_if_conversion.cpp
src/gallium/drivers/r600/sb/sb_ir.cpp
src/gallium/drivers/r600/sb/sb_ir.h
src/gallium/drivers/r600/sb/sb_liveness.cpp
src/gallium/drivers/r600/sb/sb_pass.h
src/gallium/drivers/r600/sb/sb_peephole.cpp
src/gallium/drivers/r600/sb/sb_ra_checker.cpp
src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp
src/gallium/drivers/r600/sb/sb_ra_init.cpp
src/gallium/drivers/r600/sb/sb_sched.cpp
src/gallium/drivers/r600/sb/sb_shader.cpp
src/gallium/drivers/r600/sb/sb_valtable.cpp