diff options
author | Vadim Girlin <[email protected]> | 2013-11-15 18:24:53 +0100 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2013-11-23 12:32:28 -0800 |
commit | 8f78b06dca4367be4dfbc4d8b984f260c344b2b5 (patch) | |
tree | cd4ae7bd48ce670b8f49a42d3bde427ae7d6856c /src/gallium/drivers/r600/sb/sb_context.cpp | |
parent | 367241ec64c8140b0f1f5f6b452dc315684e4343 (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.cpp | 9 |
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; } |