aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/sb/sb_context.cpp
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2013-11-15 18:24:53 +0100
committerIan Romanick <[email protected]>2013-11-23 12:32:28 -0800
commit8f78b06dca4367be4dfbc4d8b984f260c344b2b5 (patch)
treecd4ae7bd48ce670b8f49a42d3bde427ae7d6856c /src/gallium/drivers/r600/sb/sb_context.cpp
parent367241ec64c8140b0f1f5f6b452dc315684e4343 (diff)
r600g/sb: work around hw issues with stack on eg/cm
v2: make it actually work, improve condition Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68503 Cc: "10.0" <[email protected]> Signed-off-by: Vadim Girlin <[email protected]> (cherry picked from commit 4cb04aa0dfaf8c23e312fa49778e637e59410727)
Diffstat (limited to 'src/gallium/drivers/r600/sb/sb_context.cpp')
-rw-r--r--src/gallium/drivers/r600/sb/sb_context.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_context.cpp b/src/gallium/drivers/r600/sb/sb_context.cpp
index 9474f74e89f..8e1142873ac 100644
--- a/src/gallium/drivers/r600/sb/sb_context.cpp
+++ b/src/gallium/drivers/r600/sb/sb_context.cpp
@@ -66,20 +66,27 @@ int sb_context::init(r600_isa *isa, sb_hw_chip chip, sb_hw_class cclass) {
case HW_CHIP_RS780:
case HW_CHIP_RV620:
case HW_CHIP_RS880:
-
+ wavefront_size = 16;
+ stack_entry_size = 8;
+ break;
case HW_CHIP_RV630:
case HW_CHIP_RV635:
case HW_CHIP_RV730:
case HW_CHIP_RV710:
case HW_CHIP_PALM:
case HW_CHIP_CEDAR:
+ wavefront_size = 32;
stack_entry_size = 8;
break;
default:
+ wavefront_size = 64;
stack_entry_size = 4;
break;
}
+ stack_workaround_8xx = needs_8xx_stack_workaround();
+ stack_workaround_9xx = needs_9xx_stack_workaround();
+
return 0;
}