lib: Allow the creation of Ys/Yf tiled FBs
lib: Allow the creation of Ys/Yf tiled FBs

There's no fencing for those tiling layouts, so we create a linear bo
for cairo to play with, and when cairo is finished with it, we do a fast
copy blit to the fb BO with its final tiling.

v2: Move to correct domain after CPU is done with the object (-EINVAL). (Tvrtko Ursulin)
    Correct arguments passed in to framebuffer creation (segfault). (Tvrtko Ursulin)
    Pass zero stride to kernel as it expects for Yf&Ys. (Tvrtko Ursulin)

v3: Rebase for gem_mmap__cpu changes. (Tvrtko Ursulin)

v4: Rebase for addfb2.5. (Tvrtko Ursulin)

Signed-off-by: Damien Lespiau <64bd3cb94f359c1a3ce68dae5e26b40578526277@intel.com>
Signed-off-by: Tvrtko Ursulin <82325a91373a06cdf12f953d4611ffb7756aa8d4@intel.com>

chenxianqin/intel-gpu-tools,tiagovignatti/intel-gpu-tools,dlespiau/checkmate-test-igt,dlespiau/checkmate-test-igt,mv0/intel-gpu-tools,tiagovignatti/intel-gpu-tools,tiagovignatti/intel-gpu-tools,dlespiau/checkmate-test-igt,dlespiau/checkmate-test-igt,tiagovignatti/intel-gpu-tools,mv0/intel-gpu-tools,chenxianqin/intel-gpu-tools,chenxianqin/intel-gpu-tools,chenxianqin/intel-gpu-tools,mv0/intel-gpu-tools,mv0/intel-gpu-tools