panfrost: Add a common genxml file so we can share a few definitions

Start with the enums that were manually redefined in
pan_{texture,format}.h and the blend equation descriptors.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12208>
This commit is contained in:
Boris Brezillon 2021-08-04 10:55:46 +02:00 committed by Marge Bot
parent 27bb80f688
commit 95b37fd21e
2 changed files with 124 additions and 7 deletions

114
src/panfrost/lib/common.xml Normal file
View file

@ -0,0 +1,114 @@
<panxml>
<enum name="Channel">
<value name="R" value="0"/>
<value name="G" value="1"/>
<value name="B" value="2"/>
<value name="A" value="3"/>
<value name="0" value="4"/>
<value name="1" value="5"/>
</enum>
<enum name="Texture Dimension">
<value name="Cube" value="0"/>
<value name="1D" value="1"/>
<value name="2D" value="2"/>
<value name="3D" value="3"/>
</enum>
<enum name="Sample Pattern">
<value name="Single-sampled" value="0"/>
<value name="Ordered 4x Grid" value="1"/>
<value name="Rotated 4x Grid" value="2"/>
<value name="D3D 8x Grid" value="3"/>
<value name="D3D 16x Grid" value="4"/>
</enum>
<enum name="Blend Operand A">
<value name="Zero" value="1"/>
<value name="Src" value="2"/>
<value name="Dest" value="3"/>
</enum>
<enum name="Blend Operand B">
<value name="Src Minus Dest" value="0"/>
<value name="Src Plus Dest" value="1"/>
<value name="Src" value="2"/>
<value name="Dest" value="3"/>
</enum>
<enum name="Blend Operand C">
<value name="Zero" value="1"/>
<value name="Src" value="2"/>
<value name="Dest" value="3"/>
<value name="Src x 2" value="4"/>
<value name="Src Alpha" value="5"/>
<value name="Dest Alpha" value="6"/>
<value name="Constant" value="7"/>
</enum>
<struct name="Blend Function" no-direct-packing="true">
<!-- Blend equation: A + (B * C) -->
<field name="A" size="2" start="0" type="Blend Operand A"/>
<field name="Negate A" size="1" start="3" type="bool"/>
<field name="B" size="2" start="4" type="Blend Operand B"/>
<field name="Negate B" size="1" start="7" type="bool"/>
<field name="C" size="3" start="8" type="Blend Operand C"/>
<field name="Invert C" size="1" start="11" type="bool"/>
</struct>
<struct name="Blend Equation" size="1">
<field name="RGB" size="12" start="0:0" type="Blend Function"/>
<field name="Alpha" size="12" start="0:12" type="Blend Function"/>
<field name="Color Mask" size="4" start="0:28" type="uint"/>
</struct>
<enum name="Format">
<value name="ETC2 RGB8" value="1"/>
<value name="ETC2 R11 UNORM" value="2"/>
<value name="ETC2 RGBA8" value="3"/>
<value name="ETC2 RG11 UNORM" value="4"/>
<value name="BC1 UNORM" value="7"/>
<value name="BC2 UNORM" value="8"/>
<value name="BC3 UNORM" value="9"/>
<value name="BC4 UNORM" value="10"/>
<value name="BC4 SNORM" value="11"/>
<value name="BC5 UNORM" value="12"/>
<value name="BC5 SNORM" value="13"/>
<value name="BC6H UF16" value="14"/>
<value name="BC6H SF16" value="15"/>
<value name="BC7 UNORM" value="16"/>
<value name="ETC2 R11 SNORM" value="17"/>
<value name="ETC2 RG11 SNORM" value="18"/>
<value name="ETC2 RGB8A1" value="19"/>
<value name="ASTC 3D LDR" value="20"/>
<value name="ASTC 3D HDR" value="21"/>
<value name="ASTC 2D LDR" value="22"/>
<value name="ASTC 2D HDR" value="23"/>
</enum>
<enum name="Func">
<value name="Never" value="0"/>
<value name="Less" value="1"/>
<value name="Equal" value="2"/>
<value name="Lequal" value="3"/>
<value name="Greater" value="4"/>
<value name="Not Equal" value="5"/>
<value name="Gequal" value="6"/>
<value name="Always" value="7"/>
</enum>
<enum name="Color Buffer Internal Format">
<value name="Raw Value" value="0"/>
<value name="R8G8B8A8" value="1"/>
<value name="R10G10B10A2" value="2"/>
<value name="R8G8B8A2" value="3"/>
<value name="R4G4B4A4" value="4"/>
<value name="R5G6B5A0" value="5"/>
<value name="R5G5B5A1" value="6"/>
<value name="RAW8" value="32"/>
<value name="RAW16" value="33"/>
<value name="RAW32" value="34"/>
<value name="RAW64" value="35"/>
<value name="RAW128" value="36"/>
</enum>
</panxml>

View file

@ -19,13 +19,16 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
pan_packers = custom_target(
'midgard_pack.h',
input : ['gen_pack.py', 'midgard.xml'],
output : 'midgard_pack.h',
command : [prog_python, '@INPUT@'],
capture : true,
)
pan_packers = []
foreach packer : ['common', 'midgard']
pan_packers += custom_target(
packer + '_pack.h',
input : ['gen_pack.py', packer + '.xml'],
output : packer + '_pack.h',
command : [prog_python, '@INPUT@'],
capture : true,
)
endforeach
idep_pan_packers = declare_dependency(
sources : [pan_packers],