On Fri, 2016-07-01 at 13:45 +0200, Vedran Miletić wrote: > On 07/01/2016 11:11 AM, Marek Olšák wrote: > > > > On Fri, Jul 1, 2016 at 10:54 AM, Marek Olšák <mar...@gmail.com> > > wrote: > > > > > > On Fri, Jul 1, 2016 at 2:52 AM, Vedran Miletić <ved...@miletic.ne > > > t> wrote: > > > > > > > > On 07/01/2016 01:29 AM, Marek Olšák wrote: > > > > > > > > > > > > > > > From: Marek Olšák <marek.ol...@amd.com> > > > > > > > > > > also fix max_global_size to take a maximum of {vram_size, > > > > > gart_size} > > > > > --- > > > > > src/gallium/drivers/r600/r600_pipe.c | 2 +- > > > > > src/gallium/drivers/radeon/r600_pipe_common.c | 9 +++------ > > > > > src/gallium/drivers/radeonsi/si_pipe.c | 2 +- > > > > > 3 files changed, 5 insertions(+), 8 deletions(-) > > > > > > > > > > diff --git a/src/gallium/drivers/r600/r600_pipe.c > > > > > b/src/gallium/drivers/r600/r600_pipe.c > > > > > index 119c76b..55bbde1 100644 > > > > > --- a/src/gallium/drivers/r600/r600_pipe.c > > > > > +++ b/src/gallium/drivers/r600/r600_pipe.c > > > > > @@ -301,7 +301,7 @@ static int r600_get_param(struct > > > > > pipe_screen* pscreen, > > > > > enum pipe_cap param) > > > > > return 0; > > > > > > > > > > case PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE: > > > > > - return MIN2(rscreen->b.info.vram_size, > > > > > 0xFFFFFFFF); > > > > > + return MIN2(rscreen->b.info.max_alloc_size, > > > > > 0xFFFFFFFF); > > > > > > > > > > case PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT: > > > > > return R600_MAP_BUFFER_ALIGNMENT; > > > > > diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c > > > > > b/src/gallium/drivers/radeon/r600_pipe_common.c > > > > > index d7f1d41..f75fa6c 100644 > > > > > --- a/src/gallium/drivers/radeon/r600_pipe_common.c > > > > > +++ b/src/gallium/drivers/radeon/r600_pipe_common.c > > > > > @@ -864,8 +864,8 @@ static int r600_get_compute_param(struct > > > > > pipe_screen > > > > > *screen, > > > > > * 4 * MAX_MEM_ALLOC_SIZE. > > > > > */ > > > > > *max_global_size = MIN2(4 * > > > > > max_mem_alloc_size, > > > > > - rscreen->info.gart_size + > > > > > - rscreen->info.vram_size); > > > > > + > > > > > MAX2(rscreen->info.gart_size, > > > > > + > > > > > rscreen->info.vram_size)); > > > > > > > > Can't you also use info.max_alloc_size here? > > > I can do *max_global_size = max_alloc_size; Does that sound good? > > Even if max_alloc_size can be 256 MB? > > > > Marek > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > > How about > > *max_global_size = MIN2(4 * max_mem_alloc_size, > rscreen->info.max_alloc_size); > > Would that work? That avoids calculating the same value in two > distinct > places, since rscreen->info.max_alloc_size = > MAX2(rscreen->info.gart_size, rscreen->info.vram_size) for both > radeon > and amdgpu.
r600 uses one buffer to back a pool of global AS user buffers, max_alloc_size should be == max_global_size Jan > > Regards, > Vedran >
signature.asc
Description: This is a digitally signed message part
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev