mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
asahi: Merge fragment control XML
Same struct specified twice and merged in the hw. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21081>
This commit is contained in:
parent
50e61e251b
commit
5678fbe010
4 changed files with 9 additions and 15 deletions
|
|
@ -46,7 +46,7 @@ agx_ppp_update_size(struct AGX_PPP_HEADER *present)
|
|||
if (present->x) \
|
||||
size += AGX_##y##_LENGTH;
|
||||
PPP_CASE(fragment_control, FRAGMENT_CONTROL);
|
||||
PPP_CASE(fragment_control_2, FRAGMENT_CONTROL_2);
|
||||
PPP_CASE(fragment_control_2, FRAGMENT_CONTROL);
|
||||
PPP_CASE(fragment_front_face, FRAGMENT_FACE);
|
||||
PPP_CASE(fragment_front_face_2, FRAGMENT_FACE_2);
|
||||
PPP_CASE(fragment_front_stencil, FRAGMENT_STENCIL);
|
||||
|
|
|
|||
|
|
@ -407,16 +407,6 @@
|
|||
<field name="Compare" size="3" start="25" type="ZS Func"/>
|
||||
</struct>
|
||||
|
||||
<struct name="Fragment control" size="4">
|
||||
<field name="Unk 1" size="1" start="9" type="hex" default="0x1"/>
|
||||
<field name="Visibility mode" size="2" start="14" type="Visibility Mode"/>
|
||||
<field name="Scissor enable" size="1" start="16" type="bool"/>
|
||||
<field name="Depth bias enable" size="1" start="17" type="bool"/>
|
||||
<field name="Stencil test enable" size="1" start="18" type="bool"/>
|
||||
<field name="Two-sided stencil" size="1" start="19" type="bool"/>
|
||||
<field name="Unk fill lines" size="1" start="26" type="hex" default="0x0"/> <!-- set when drawing LINES -->
|
||||
</struct>
|
||||
|
||||
<enum name="Pass type">
|
||||
<value name="Opaque" value="0"/>
|
||||
<value name="Translucent" value="1"/>
|
||||
|
|
@ -426,9 +416,13 @@
|
|||
Translucent punch through seems notably different though? -->
|
||||
</enum>
|
||||
|
||||
<struct name="Fragment control 2" size="4">
|
||||
<struct name="Fragment control" size="4">
|
||||
<field name="Unk 1" size="1" start="9" type="bool" default="true"/>
|
||||
<!-- Or discards? -->
|
||||
<field name="Visibility mode" size="2" start="14" type="Visibility Mode"/>
|
||||
<field name="Scissor enable" size="1" start="16" type="bool"/>
|
||||
<field name="Depth bias enable" size="1" start="17" type="bool"/>
|
||||
<field name="Stencil test enable" size="1" start="18" type="bool"/>
|
||||
<field name="Two-sided stencil" size="1" start="19" type="bool"/>
|
||||
<field name="No colour output" size="1" start="21" type="bool"/>
|
||||
<field name="Sample mask after depth/stencil" size="1" start="25" type="bool"/>
|
||||
<field name="Disable tri merging" size="1" start="26" type="bool"/>
|
||||
|
|
|
|||
|
|
@ -441,7 +441,7 @@ agxdecode_record(uint64_t va, size_t size, bool verbose)
|
|||
map += AGX_PPP_HEADER_LENGTH;
|
||||
|
||||
PPP_PRINT(map, fragment_control, FRAGMENT_CONTROL, "Fragment control");
|
||||
PPP_PRINT(map, fragment_control_2, FRAGMENT_CONTROL_2, "Fragment control 2");
|
||||
PPP_PRINT(map, fragment_control_2, FRAGMENT_CONTROL, "Fragment control 2");
|
||||
PPP_PRINT(map, fragment_front_face, FRAGMENT_FACE, "Front face");
|
||||
PPP_PRINT(map, fragment_front_face_2, FRAGMENT_FACE_2, "Front face 2");
|
||||
PPP_PRINT(map, fragment_front_stencil, FRAGMENT_STENCIL, "Front stencil");
|
||||
|
|
|
|||
|
|
@ -1996,7 +1996,7 @@ agx_encode_state(struct agx_batch *batch, uint8_t *out, bool is_lines,
|
|||
}
|
||||
|
||||
if (dirty.fragment_control_2) {
|
||||
agx_ppp_push(&ppp, FRAGMENT_CONTROL_2, cfg) {
|
||||
agx_ppp_push(&ppp, FRAGMENT_CONTROL, cfg) {
|
||||
/* This avoids broken derivatives along primitive edges */
|
||||
cfg.disable_tri_merging =
|
||||
(is_lines || is_points || ctx->fs->info.disable_tri_merging);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue