intel/mi_builder: Added support for command streamer shift operations

Add logical shift left and right operations support to mi_builder.

v1:
- Add GEN_GEN > 12 check (Jordan Justen)
- Add gen_mi_has_shift function (Jordan Justen)
- Fix commit title (Jordan Justen)

v2 (Jason Ekstrand):
- Add _imm versions of all of them
- Better handle corner-cases in _imm helpers
- Handle the power-of-two limitation for _imm versions
- Add tests

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9445>
This commit is contained in:
Sagar Ghuge
2020-07-16 12:43:13 -07:00
committed by Jason Ekstrand
parent 62b9e30cc7
commit 04d0d4e849
3 changed files with 215 additions and 0 deletions
+3
View File
@@ -659,6 +659,9 @@
<value name="AND" value="0x102"/>
<value name="OR" value="0x103"/>
<value name="XOR" value="0x104"/>
<value name="SHL" value="0x105"/>
<value name="SHR" value="0x106"/>
<value name="SAR" value="0x107"/>
<value name="STORE" value="0x180"/>
<value name="STOREINV" value="0x580"/>
</field>