xref: /aosp_15_r20/external/mesa3d/src/imagination/csbgen/rogue_cdm.xml (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker<?xml version="1.0" ?>
2*61046927SAndroid Build Coastguard Worker
3*61046927SAndroid Build Coastguard Worker<!--
4*61046927SAndroid Build Coastguard WorkerCopyright © 2022 Imagination Technologies Ltd.
5*61046927SAndroid Build Coastguard Worker
6*61046927SAndroid Build Coastguard WorkerPermission is hereby granted, free of charge, to any person obtaining a copy
7*61046927SAndroid Build Coastguard Workerof this software and associated documentation files (the "Software"), to deal
8*61046927SAndroid Build Coastguard Workerin the Software without restriction, including without limitation the rights
9*61046927SAndroid Build Coastguard Workerto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10*61046927SAndroid Build Coastguard Workercopies of the Software, and to permit persons to whom the Software is
11*61046927SAndroid Build Coastguard Workerfurnished to do so, subject to the following conditions:
12*61046927SAndroid Build Coastguard Worker
13*61046927SAndroid Build Coastguard WorkerThe above copyright notice and this permission notice (including the next
14*61046927SAndroid Build Coastguard Workerparagraph) shall be included in all copies or substantial portions of the
15*61046927SAndroid Build Coastguard WorkerSoftware.
16*61046927SAndroid Build Coastguard Worker
17*61046927SAndroid Build Coastguard WorkerTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18*61046927SAndroid Build Coastguard WorkerIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19*61046927SAndroid Build Coastguard WorkerFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20*61046927SAndroid Build Coastguard WorkerAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21*61046927SAndroid Build Coastguard WorkerLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22*61046927SAndroid Build Coastguard WorkerOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23*61046927SAndroid Build Coastguard WorkerSOFTWARE.
24*61046927SAndroid Build Coastguard Worker-->
25*61046927SAndroid Build Coastguard Worker
26*61046927SAndroid Build Coastguard Worker<csbgen name="ROGUE" prefix="CDMCTRL">
27*61046927SAndroid Build Coastguard Worker
28*61046927SAndroid Build Coastguard Worker  <define name="GUARD_SIZE_DEFAULT" value="64"/>
29*61046927SAndroid Build Coastguard Worker
30*61046927SAndroid Build Coastguard Worker  <enum name="BLOCK_TYPE">
31*61046927SAndroid Build Coastguard Worker    <value name="COMPUTE_KERNEL"   value="0"/>
32*61046927SAndroid Build Coastguard Worker    <value name="STREAM_LINK"      value="1"/>
33*61046927SAndroid Build Coastguard Worker    <value name="STREAM_TERMINATE" value="2"/>
34*61046927SAndroid Build Coastguard Worker  </enum>
35*61046927SAndroid Build Coastguard Worker
36*61046927SAndroid Build Coastguard Worker  <enum name="USC_TARGET">
37*61046927SAndroid Build Coastguard Worker    <value name="ALL" value="0"/>
38*61046927SAndroid Build Coastguard Worker    <value name="ANY" value="1"/>
39*61046927SAndroid Build Coastguard Worker  </enum>
40*61046927SAndroid Build Coastguard Worker
41*61046927SAndroid Build Coastguard Worker  <enum name="SD_TYPE">
42*61046927SAndroid Build Coastguard Worker    <value name="NONE" value="0"/>
43*61046927SAndroid Build Coastguard Worker    <value name="PDS"  value="1"/>
44*61046927SAndroid Build Coastguard Worker    <value name="USC"  value="2"/>
45*61046927SAndroid Build Coastguard Worker  </enum>
46*61046927SAndroid Build Coastguard Worker
47*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL0" length="1">
48*61046927SAndroid Build Coastguard Worker    <field name="block_type" start="30" end="31" type="BLOCK_TYPE" default="COMPUTE_KERNEL"/>
49*61046927SAndroid Build Coastguard Worker    <field name="indirect_present" start="29" end="29" type="bool"/>
50*61046927SAndroid Build Coastguard Worker    <field name="global_offsets_present" start="28" end="28" type="bool"/>
51*61046927SAndroid Build Coastguard Worker    <field name="event_object_present" start="27" end="27" type="bool"/>
52*61046927SAndroid Build Coastguard Worker    <field name="usc_common_size" start="18" end="26" type="uint">
53*61046927SAndroid Build Coastguard Worker      <define name="UNIT_SIZE" value="64"/>
54*61046927SAndroid Build Coastguard Worker      <define name="MAX_SIZE" value="256"/>
55*61046927SAndroid Build Coastguard Worker    </field>
56*61046927SAndroid Build Coastguard Worker    <field name="usc_unified_size" start="12" end="17" type="uint">
57*61046927SAndroid Build Coastguard Worker      <define name="UNIT_SIZE" value="16"/>
58*61046927SAndroid Build Coastguard Worker    </field>
59*61046927SAndroid Build Coastguard Worker    <field name="pds_temp_size" start="8" end="11" type="uint">
60*61046927SAndroid Build Coastguard Worker      <define name="UNIT_SIZE" value="16"/>
61*61046927SAndroid Build Coastguard Worker    </field>
62*61046927SAndroid Build Coastguard Worker    <field name="pds_data_size" start="2" end="7" type="uint">
63*61046927SAndroid Build Coastguard Worker      <define name="UNIT_SIZE" value="16"/>
64*61046927SAndroid Build Coastguard Worker    </field>
65*61046927SAndroid Build Coastguard Worker    <field name="usc_target" start="1" end="1" type="USC_TARGET"/>
66*61046927SAndroid Build Coastguard Worker    <field name="fence" start="0" end="0" type="bool"/>
67*61046927SAndroid Build Coastguard Worker  </struct>
68*61046927SAndroid Build Coastguard Worker
69*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL1" length="1">
70*61046927SAndroid Build Coastguard Worker    <field name="data_addr" start="4" end="31" shift="4" type="address"/>
71*61046927SAndroid Build Coastguard Worker    <field name="sd_type" start="2" end="3" type="SD_TYPE"/>
72*61046927SAndroid Build Coastguard Worker    <field name="usc_common_shared" start="1" end="1" type="bool"/>
73*61046927SAndroid Build Coastguard Worker  </struct>
74*61046927SAndroid Build Coastguard Worker
75*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL2" length="1">
76*61046927SAndroid Build Coastguard Worker    <field name="code_addr" start="4" end="31" shift="4" type="address"/>
77*61046927SAndroid Build Coastguard Worker    <field name="one_wg_per_task" start="0" end="0" type="bool"/>
78*61046927SAndroid Build Coastguard Worker  </struct>
79*61046927SAndroid Build Coastguard Worker
80*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL3" length="1">
81*61046927SAndroid Build Coastguard Worker    <field name="workgroup_x" start="0" end="31" type="uint"/>
82*61046927SAndroid Build Coastguard Worker  </struct>
83*61046927SAndroid Build Coastguard Worker
84*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL4" length="1">
85*61046927SAndroid Build Coastguard Worker    <field name="workgroup_y" start="0" end="31" type="uint"/>
86*61046927SAndroid Build Coastguard Worker  </struct>
87*61046927SAndroid Build Coastguard Worker
88*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL5" length="1">
89*61046927SAndroid Build Coastguard Worker    <field name="workgroup_z" start="0" end="31" type="uint"/>
90*61046927SAndroid Build Coastguard Worker  </struct>
91*61046927SAndroid Build Coastguard Worker
92*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL6" length="1">
93*61046927SAndroid Build Coastguard Worker    <field name="indirect_addrmsb" start="0" end="7" shift="32" type="address"/>
94*61046927SAndroid Build Coastguard Worker  </struct>
95*61046927SAndroid Build Coastguard Worker
96*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL7" length="1">
97*61046927SAndroid Build Coastguard Worker    <field name="indirect_addrlsb" start="2" end="31" shift="2" type="address"/>
98*61046927SAndroid Build Coastguard Worker  </struct>
99*61046927SAndroid Build Coastguard Worker
100*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL8" length="1">
101*61046927SAndroid Build Coastguard Worker    <field name="max_instances" start="27" end="31" type="uint">
102*61046927SAndroid Build Coastguard Worker      <define name="MAX_SIZE" value="31"/>
103*61046927SAndroid Build Coastguard Worker    </field>
104*61046927SAndroid Build Coastguard Worker    <field name="workgroup_size_x" start="18" end="26" type="uint"/>
105*61046927SAndroid Build Coastguard Worker    <field name="workgroup_size_y" start="9" end="17" type="uint"/>
106*61046927SAndroid Build Coastguard Worker    <field name="workgroup_size_z" start="0" end="8" type="uint"/>
107*61046927SAndroid Build Coastguard Worker  </struct>
108*61046927SAndroid Build Coastguard Worker
109*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL9" length="1">
110*61046927SAndroid Build Coastguard Worker    <field name="global_offset_x" start="0" end="31" type="uint"/>
111*61046927SAndroid Build Coastguard Worker  </struct>
112*61046927SAndroid Build Coastguard Worker
113*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL10" length="1">
114*61046927SAndroid Build Coastguard Worker    <field name="global_offset_y" start="0" end="31" type="uint"/>
115*61046927SAndroid Build Coastguard Worker  </struct>
116*61046927SAndroid Build Coastguard Worker
117*61046927SAndroid Build Coastguard Worker  <struct name="KERNEL11" length="1">
118*61046927SAndroid Build Coastguard Worker    <field name="global_offset_z" start="0" end="31" type="uint"/>
119*61046927SAndroid Build Coastguard Worker  </struct>
120*61046927SAndroid Build Coastguard Worker
121*61046927SAndroid Build Coastguard Worker  <struct name="STREAM_LINK0" length="1">
122*61046927SAndroid Build Coastguard Worker    <field name="block_type" start="30" end="31" type="BLOCK_TYPE" default="STREAM_LINK"/>
123*61046927SAndroid Build Coastguard Worker    <field name="link_addrmsb" start="0" end="7" shift="32" type="address"/>
124*61046927SAndroid Build Coastguard Worker  </struct>
125*61046927SAndroid Build Coastguard Worker
126*61046927SAndroid Build Coastguard Worker  <struct name="STREAM_LINK1" length="1">
127*61046927SAndroid Build Coastguard Worker    <field name="link_addrlsb" start="2" end="31" shift="2" type="address"/>
128*61046927SAndroid Build Coastguard Worker  </struct>
129*61046927SAndroid Build Coastguard Worker
130*61046927SAndroid Build Coastguard Worker  <struct name="STREAM_TERMINATE" length="1">
131*61046927SAndroid Build Coastguard Worker    <field name="block_type" start="30" end="31" type="BLOCK_TYPE" default="STREAM_TERMINATE"/>
132*61046927SAndroid Build Coastguard Worker  </struct>
133*61046927SAndroid Build Coastguard Worker
134*61046927SAndroid Build Coastguard Worker</csbgen>
135