RFC: hardware accelerated bitblt using dma engine
Enrico Weigelt, metux IT consult
enrico.weigelt at gr13.net
Wed Aug 3 04:39:25 UTC 2016
On 03.08.2016 05:47, Dave Airlie wrote:
> Because no hw is the same once you go beyond that.
hmm, it doesn't seem to be so extremly different, that we cant
at least abstract some common aspects.
> Video memory size means what? VRAM, GPU accessible system RAM,
> amount of CPU visible VRAM?
Actually, these are separate things, which of course should be
reported in separate fields:
* phys_aperture_size:
--> physical maximum for the shared ram between cpu and gpu
(cpu-accessible gpu-memory)
* avail_aperture_size:
--> the logical maximum that the process can map
--> might be lower than phys_..., eg. due to process limits or
when running a 32bit userland on 64bit kernel
* phys_gpu_memory_size:
--> the total size of gpu's memory (that could be accessed by cpu)
--> might be larger than phys_aperture_size / avail_aperture_size
when gpu just has more memory than can be shared w/ cpu
--> eg. an interesting indicator on how much can be filled w/
readonly textures (which dont need to be cpu-accessible anymore)
* avail_gpu_memory_size:
--> the logical maximum that process can consume
* phys_shm_size:
--> max size of shared system memory (directly accessible b
both gpu and cpu)
--> commonly available on SoCs - on other hw might be zero
--> not counting on-board RAM that is hw-mapped to the GPU, thus not
falling into system memory in the first place.
IMHO, that should catch all usual scenarios, from the fat gamer-GPU
boards to tiny SoCs ... did I miss something here ?
In the end, these values only seem to be used as some statistics for
the userland's decision on much stuff it uploads to the GPU.
By the way: what about resource limits ? Can we control, how much GPU
memory an unprivileged process can consume, in order to prevent DOS'ing
other processes (even other users) ?
--mtx
More information about the dri-devel
mailing list