From 393d741788fa82896d4b1c9fd02402a83053afcf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Tue, 27 Mar 2012 21:00:49 +0200 Subject: [PATCH] r600g: enable transform feedback on everything that isn't r700 Use R700_STREAMOUT=1 if you wanna hack transform feedback on r700. --- src/gallium/drivers/r600/r600_pipe.c | 6 ++++++ src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 8daa67a9952..580b9c15955 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -814,6 +814,12 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws) rscreen->chip_class = R600; } + /* XXX streamout is broken on r700 */ + if (rscreen->chip_class == R700 && + !debug_get_bool_option("R700_STREAMOUT", FALSE)) { + rscreen->info.r600_has_streamout = false; + } + if (r600_init_tiling(rscreen)) { FREE(rscreen); return NULL; diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c index 956fe854b8c..c29dca394f0 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c @@ -290,8 +290,7 @@ static boolean do_winsys_init(struct radeon_drm_winsys *ws) ws->info.r600_virtual_address = FALSE; } - /* XXX don't enable this for R700 yet, it's broken on those asics */ - ws->info.r600_has_streamout = debug_get_bool_option("R600_STREAMOUT", FALSE); + ws->info.r600_has_streamout = ws->info.drm_minor >= 13; } return TRUE; -- 2.30.2