On Thu, Nov 07, 2013 at 04:23:12PM -0800, Ian Romanick wrote: > On 11/07/2013 01:33 PM, Daniel Vetter wrote: > > On Sat, Oct 12, 2013 at 12:10 AM, Ian Romanick <i...@freedesktop.org> wrote: > >> + /* Once a batch uses more than 75% of the maximum mappable size, we > >> + * assume that there's some fragmentation, and we start doing extra > >> + * flushing, etc. That's the big cliff apps will care about. > >> + * > >> + * Can only map 2G onto the GPU through the GTT. > >> + */ > >> + const unsigned gpu_mappable_megabytes = 2 * 1024 * 3 / 4; > > > > We have an ioctl to tell you that, since it's not really 2G on really > > old stuff. And will probably change on newer platforms. Also, using > > that ioctl allows the kernel to limit your usage in case the available > > ram is less than the virtual size of the gtt (atm we don't bother with > > that much cleverness, but probably will in the future). See > > DRM_IOCTL_I915_GEM_GET_APERTURE in libdrm (it's unfortunately not > > exposed through any libdrm function afaics. > > This only does GEN4+. i915 and earlier chips are handled in the > previous patch, which uses drmAgpSize. Should that be used here too?
Oops, didn't spot that. But still original gen4 has only 512M and if you look sharply at the bdw code you'll see it currently claims 4G, with promise for more (64b relocs and all). The ioctl also gives you the size in u64, so it's future-proof. Also wrt drmAgpSize for gen2/3 that's the wrong size - it uses the horribly agp legacy crap we unfortunately still have hanging around due to XvMC bogosity on gen3. But already on gen2 and some gen3 where we don't care this won't work and 3.14 has a patch from Ville to disable it everywhere. So that needs to change to the gem aperture ioctl, too. That agp layer desperately needs to die, so please don't add new uses to extend its lifetime for another 5 years ;-) -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev