Committed as 44e90f2.
On Fri, Jul 31, 2015 at 12:11 PM, Marek Olšák <mar...@gmail.com> wrote: > Reviewed-by: Marek Olšák <marek.ol...@amd.com> > > Marek > > On Fri, Jul 31, 2015 at 11:59 AM, Zoltan Gilian <zoltan.gil...@gmail.com> > wrote: >> To circumvent a problem occuring when LINEAR_ALIGNED array mode is >> selected on a TEXTURE_2D RAT. >> This configuration causes MEM_RAT STORE_TYPED to write to incorrect >> locations. >> --- >> src/gallium/drivers/radeon/r600_texture.c | 11 +++++++++-- >> 1 file changed, 9 insertions(+), 2 deletions(-) >> >> diff --git a/src/gallium/drivers/radeon/r600_texture.c >> b/src/gallium/drivers/radeon/r600_texture.c >> index 8169e05..d79f50a 100644 >> --- a/src/gallium/drivers/radeon/r600_texture.c >> +++ b/src/gallium/drivers/radeon/r600_texture.c >> @@ -706,6 +706,7 @@ static unsigned r600_choose_tiling(struct >> r600_common_screen *rscreen, >> const struct pipe_resource *templ) >> { >> const struct util_format_description *desc = >> util_format_description(templ->format); >> + bool force_tiling = templ->flags & R600_RESOURCE_FLAG_FORCE_TILING; >> >> /* MSAA resources must be 2D tiled. */ >> if (templ->nr_samples > 1) >> @@ -715,10 +716,16 @@ static unsigned r600_choose_tiling(struct >> r600_common_screen *rscreen, >> if (templ->flags & R600_RESOURCE_FLAG_TRANSFER) >> return RADEON_SURF_MODE_LINEAR_ALIGNED; >> >> + /* r600g: force tiling on TEXTURE_2D and TEXTURE_3D compute >> resources. */ >> + if (rscreen->chip_class >= R600 && rscreen->chip_class <= CAYMAN && >> + (templ->bind & PIPE_BIND_COMPUTE_RESOURCE) && >> + (templ->target == PIPE_TEXTURE_2D || >> + templ->target == PIPE_TEXTURE_3D)) >> + force_tiling = true; >> + >> /* Handle common candidates for the linear mode. >> * Compressed textures must always be tiled. */ >> - if (!(templ->flags & R600_RESOURCE_FLAG_FORCE_TILING) && >> - !util_format_is_compressed(templ->format)) { >> + if (!force_tiling && !util_format_is_compressed(templ->format)) { >> /* Not everything can be linear, so we cannot enforce it >> * for all textures. */ >> if ((rscreen->debug_flags & DBG_NO_TILING) && >> -- >> 2.4.6 >> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev