summaryrefslogtreecommitdiff
path: root/lib/meson.build
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2019-11-07 20:36:18 +0200
committerImre Deak <imre.deak@intel.com>2019-11-14 18:02:10 +0200
commita5b098566d7418763ae16013c51e605f5311a254 (patch)
tree7d369b9a1a0b85da2e4da104cc5f8cd0323bc3be /lib/meson.build
parent89f09de246eca5fdd0198cebb5497549a421e50c (diff)
lib/rendercopy: Add AUX page table support
On GEN12+ the AUX CCS surfaces required by the render and media compression must be specified by a 3 level page table directory, which translates the main surface graphics address to the AUX CCS surface graphics address. For this purpose add support for creating a GEM buffer to translate the linear surface address range to the linear AUX surface address range. The buffers containing the main surface must be pinned down, since the directory table entry indices depend on the surface address, and they must be 64kB aligned. The page table can be relocated OTOH, so allow that and emit the required relocation entries. v2: - Make level variables to be 0 based (l1..l3 -> level=0..2). - Add missing drm_intel_bo_set_softpin_offset() stub to fix build on non-Intel archs. - Fix missing offsets in reloc entries of already bound objects. (Chris) - Randomize pin offsets, to try to avoid eviction. (Chris) - Remove redundant MI_NOOPS around MI_LOAD_REGISTER_MEM - Stop using explicit reloc cache domains, as these don't make sense on GEN12 anyway. (Chris) - Fix missing autotools support. (Chris) - s/igt_aux_pgtable/intel_aux_pgtable/, since the functionality is Intel specific. (Chris) v3: - Make sure all objects with an AUX surface are pinned. v4: - s/MI_LOAD_REGISTER_MEM/MI_LOAD_REGISTER_MEM_GEN8/ (Chris) - Fix using buf->bo->size instead of buf->size when finding a free range for a pinned obj. - Fix alignment of the reserved space start for a pinned obj. - Move gen12_emit_aux_pgtable_state() to its logical spot. v5: - Fix reloc emit call, passing a relative instead of absolute target offset. (Chris) - Fix off-by-one error when generating a random offset for pinned objs. Cc: Mika Kahola <mika.kahola@intel.com> Cc: Brian Welty <brian.welty@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/meson.build')
-rw-r--r--lib/meson.build1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/meson.build b/lib/meson.build
index 19cb6255..73c07b0f 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -44,6 +44,7 @@ lib_sources = [
'rendercopy_gen8.c',
'rendercopy_gen9.c',
'sw_sync.c',
+ 'intel_aux_pgtable.c',
'intel_reg_map.c',
'intel_iosf.c',
'igt_kms.c',