diff options
author | Matthias Hopf <mhopf@suse.de> | 2009-02-14 23:54:01 +0100 |
---|---|---|
committer | Matthias Hopf <mhopf@suse.de> | 2009-02-16 14:09:33 +0100 |
commit | 903a1f0d69c8f31082655a50a45b59e3386bd0f1 (patch) | |
tree | 969f3aedcffe8e86a4175846d03d7a2d85587ba9 | |
parent | 72840e2876c8dfd22ed087d6a25ba2edf3660cac (diff) |
Workaround for bug in R600.
-rw-r--r-- | r600_init.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/r600_init.c b/r600_init.c index 16e6553..51be6dc 100644 --- a/r600_init.c +++ b/r600_init.c @@ -323,7 +323,8 @@ void vs_setup(adapter_t *adapt, shader_config_t *vs_conf) sq_pgm_resources |= SQ_PGM_RESOURCES_VS__DX10_CLAMP_bit; if (vs_conf->fetch_cache_lines) sq_pgm_resources |= (vs_conf->fetch_cache_lines << FETCH_CACHE_LINES_shift); - if (vs_conf->uncached_first_inst) + if (vs_conf->uncached_first_inst || + adapt->chipset == CHIPSET_R600) // Workaround for bug in R600 sq_pgm_resources |= UNCACHED_FIRST_INST_bit; EREG (SQ_PGM_START_VS, vs_conf->shader_addr >> 8); @@ -342,7 +343,8 @@ void ps_setup(adapter_t *adapt, shader_config_t *ps_conf) sq_pgm_resources |= SQ_PGM_RESOURCES_PS__DX10_CLAMP_bit; if (ps_conf->fetch_cache_lines) sq_pgm_resources |= (ps_conf->fetch_cache_lines << FETCH_CACHE_LINES_shift); - if (ps_conf->uncached_first_inst) + if (ps_conf->uncached_first_inst || + adapt->chipset == CHIPSET_R600) // Workaround for bug in R600 sq_pgm_resources |= UNCACHED_FIRST_INST_bit; if (ps_conf->clamp_consts) sq_pgm_resources |= CLAMP_CONSTS_bit; |