diff options
author | Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> | 2022-03-11 13:13:17 +0100 |
---|---|---|
committer | Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> | 2022-03-11 18:00:51 +0100 |
commit | 34dc3b8be67e798663bad882552b7d91df4cdc70 (patch) | |
tree | b3d6c6e717a99d1109b7392fa9d733c0870836bb /lib/igt_kms.c | |
parent | 2a557449956ad2519c6d0cd893ef27e9aaf9b32d (diff) |
lib/i915_blt: Add library for blitter
Blitter commands became complicated thus manual bitshifting is error
prone and hard debugable - XY_BLOCK_COPY_BLT is the best example -
in extended version (for DG2+) it takes 20 dwords of command data.
To avoid mistakes and dozens of arguments for command library provides
input data in more structured form.
Currently supported commands:
- XY_BLOCK_COPY_BLT:
a) TGL/DG1 uses shorter version of command which doesn't support
compression
b) DG2+ command is extended and supports compression
- XY_CTRL_SURF_COPY_BLT
- XY_FAST_COPY_BLT
Source, destination and batchbuffer are provided to blitter functions
as objects (structs). This increases readability and allows use same
object in many functions. Only drawback of such attitude is some fields
used in one function may be ignored in another. As an example is
blt_copy_object which contains a lot of information about gem object.
In block-copy all of data are used but in fast-copy only some of them
(fast-copy doesn't support compression).
v2-v3: address review comments (Kamil)
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Diffstat (limited to 'lib/igt_kms.c')
0 files changed, 0 insertions, 0 deletions