mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
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:
parent
27bb80f688
commit
95b37fd21e
2 changed files with 124 additions and 7 deletions
114
src/panfrost/lib/common.xml
Normal file
114
src/panfrost/lib/common.xml
Normal 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>
|
||||
|
|
@ -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],
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue