Kenneth Graunke <kenn...@whitecape.org> writes: > We're planning to start managing the PPGTT in userspace in the near > future, rather than relying on the kernel to assign addresses. While > most buffers can go anywhere, some need to be restricted to within 4GB > of a base address. > > This commit adds a "memory zone" parameter to the BO allocation > functions, which lets the caller specify which base address the BO will > be associated with, or BRW_MEMZONE_OTHER for the full 48-bit VMA.
As an aside, in anv I implemented OTHER to be something more like ANY, where it allocates from either the high or low vma ranges. That's only relevant though because I apply a size restriction to the 'high' range. There's no such restriction here, so no need to have high allocations try the low range if they fail. Reviewed-by: Scott D Phillips <scott.d.phill...@intel.com> > --- > src/mesa/drivers/dri/i965/brw_blorp.c | 3 +- > src/mesa/drivers/dri/i965/brw_bufmgr.c | 20 ++++++---- > src/mesa/drivers/dri/i965/brw_bufmgr.h | 40 ++++++++++++++++++- > src/mesa/drivers/dri/i965/brw_context.h | 1 + > .../drivers/dri/i965/brw_performance_query.c | 5 ++- > src/mesa/drivers/dri/i965/brw_pipe_control.c | 3 +- > src/mesa/drivers/dri/i965/brw_program.c | 8 ++-- > src/mesa/drivers/dri/i965/brw_program_cache.c | 6 ++- > src/mesa/drivers/dri/i965/brw_queryobj.c | 8 ++-- > src/mesa/drivers/dri/i965/gen6_queryobj.c | 3 +- > src/mesa/drivers/dri/i965/gen6_sol.c | 6 ++- > src/mesa/drivers/dri/i965/intel_batchbuffer.c | 15 ++++--- > .../drivers/dri/i965/intel_buffer_objects.c | 8 ++-- > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 7 +++- > src/mesa/drivers/dri/i965/intel_screen.c | 8 ++-- > src/mesa/drivers/dri/i965/intel_upload.c | 3 +- > 16 files changed, 107 insertions(+), 37 deletions(-) > > For what it's worth, I have a prototype that has separate memzones > for Instruction Base Address, Surface State Base Address, Dynamic State > Base Address, and "other" for the rest of the VMA. It's worked out very > nicely, so I feel pretty confident that this is a good approach. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev