mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-22 14:00:37 +02:00
Revert "nir/opt_varyings: Add workaround for RADV mesh shader multiview."
The workaround is not needed anymore, because RADV now implements the FS layer ID input as a sysval. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32641>
This commit is contained in:
parent
dd00b3f527
commit
ec548fd37b
6 changed files with 5 additions and 15 deletions
|
|
@ -1087,14 +1087,6 @@ can_remove_varying(struct linkage_info *linkage, gl_varying_slot location)
|
|||
location == VARYING_SLOT_FOGC)
|
||||
return true;
|
||||
|
||||
/* Workaround for mesh shader multiview in RADV.
|
||||
* A layer output is inserted by ac_nir_lower_ngg which is called later.
|
||||
* Prevent removing the layer input from FS when producer is MS.
|
||||
*/
|
||||
if (linkage->producer_stage == MESA_SHADER_MESH &&
|
||||
location == VARYING_SLOT_LAYER)
|
||||
return false;
|
||||
|
||||
/* These can be removed as varyings, which means they will be demoted to
|
||||
* sysval-only outputs keeping their culling/rasterization functions
|
||||
* while not passing the values to FS. Drivers should handle
|
||||
|
|
|
|||
|
|
@ -40,9 +40,7 @@ TEST_F(nir_opt_varyings_test_dead_output, \
|
|||
ASSERT_TRUE(nir_intrinsic_io_semantics(intr).no_varying == \
|
||||
(VARYING_SLOT_##slot != VARYING_SLOT_POS && \
|
||||
VARYING_SLOT_##slot != VARYING_SLOT_PSIZ && \
|
||||
VARYING_SLOT_##slot != VARYING_SLOT_CLIP_VERTEX && \
|
||||
/* RADV mesh multiview workaround */ \
|
||||
(MESA_SHADER_##producer_stage != MESA_SHADER_MESH || VARYING_SLOT_##slot != VARYING_SLOT_LAYER))); \
|
||||
VARYING_SLOT_##slot != VARYING_SLOT_CLIP_VERTEX)); \
|
||||
}
|
||||
|
||||
#define TEST_DEAD_OUTPUT_KEPT_XFB(producer_stage, consumer_stage, slot, bitsize) \
|
||||
|
|
|
|||
|
|
@ -408,7 +408,7 @@ TEST_CONST_PROP(MESH, FRAGMENT, CLIP_DIST0, 0, float, 32, 314)
|
|||
TEST_CONST_PROP(MESH, FRAGMENT, CLIP_DIST1, 0, float, 32, 314)
|
||||
TEST_CONST_PROP(MESH, FRAGMENT, CULL_DIST0, 0, float, 32, 314)
|
||||
TEST_CONST_PROP(MESH, FRAGMENT, CULL_DIST1, 0, float, 32, 314)
|
||||
TEST_CONST_KEPT(MESH, FRAGMENT, LAYER, 0, float, 32, 314) /* RADV mesh multiview workaround */
|
||||
TEST_CONST_PROP(MESH, FRAGMENT, LAYER, 0, float, 32, 314)
|
||||
TEST_CONST_PROP(MESH, FRAGMENT, VIEWPORT, 0, float, 32, 314)
|
||||
TEST_CONST_PROP(MESH, FRAGMENT, VAR0, 0, float, 32, 314)
|
||||
TEST_CONST_PROP(MESH, FRAGMENT, VAR0, 0, float, 16, 314)
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ TEST_UBO_PROP(MESH, FRAGMENT, CLIP_DIST0, 0, float, 32)
|
|||
TEST_UBO_PROP(MESH, FRAGMENT, CLIP_DIST1, 0, float, 32)
|
||||
TEST_UBO_PROP(MESH, FRAGMENT, CULL_DIST0, 0, float, 32)
|
||||
TEST_UBO_PROP(MESH, FRAGMENT, CULL_DIST1, 0, float, 32)
|
||||
TEST_UBO_KEPT(MESH, FRAGMENT, LAYER, 0, float, 32) /* RADV mesh multiview workaround */
|
||||
TEST_UBO_PROP(MESH, FRAGMENT, LAYER, 0, float, 32)
|
||||
TEST_UBO_PROP(MESH, FRAGMENT, VIEWPORT, 0, float, 32)
|
||||
TEST_UBO_PROP(MESH, FRAGMENT, VAR0, 0, float, 32)
|
||||
TEST_UBO_PROP(MESH, FRAGMENT, VAR0, 0, float, 16)
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ TEST_UNIFORM_PROP(MESH, FRAGMENT, CLIP_DIST0, 0, float, 32)
|
|||
TEST_UNIFORM_PROP(MESH, FRAGMENT, CLIP_DIST1, 0, float, 32)
|
||||
TEST_UNIFORM_PROP(MESH, FRAGMENT, CULL_DIST0, 0, float, 32)
|
||||
TEST_UNIFORM_PROP(MESH, FRAGMENT, CULL_DIST1, 0, float, 32)
|
||||
TEST_UNIFORM_KEPT(MESH, FRAGMENT, LAYER, 0, float, 32) /* RADV mesh multiview workaround */
|
||||
TEST_UNIFORM_PROP(MESH, FRAGMENT, LAYER, 0, float, 32)
|
||||
TEST_UNIFORM_PROP(MESH, FRAGMENT, VIEWPORT, 0, float, 32)
|
||||
TEST_UNIFORM_PROP(MESH, FRAGMENT, VAR0, 0, float, 32)
|
||||
TEST_UNIFORM_PROP(MESH, FRAGMENT, VAR0, 0, float, 16)
|
||||
|
|
|
|||
|
|
@ -371,7 +371,7 @@ TEST_UNI_EXPR_PROP(MESH, FRAGMENT, CLIP_DIST0, 0, float, 32)
|
|||
TEST_UNI_EXPR_PROP(MESH, FRAGMENT, CLIP_DIST1, 0, float, 32)
|
||||
TEST_UNI_EXPR_PROP(MESH, FRAGMENT, CULL_DIST0, 0, float, 32)
|
||||
TEST_UNI_EXPR_PROP(MESH, FRAGMENT, CULL_DIST1, 0, float, 32)
|
||||
TEST_UNI_EXPR_KEPT(MESH, FRAGMENT, LAYER, 0, float, 32) /* RADV mesh multiview workaround */
|
||||
TEST_UNI_EXPR_PROP(MESH, FRAGMENT, LAYER, 0, float, 32)
|
||||
TEST_UNI_EXPR_PROP(MESH, FRAGMENT, VIEWPORT, 0, float, 32)
|
||||
TEST_UNI_EXPR_PROP(MESH, FRAGMENT, VAR0, 0, float, 32)
|
||||
TEST_UNI_EXPR_PROP(MESH, FRAGMENT, VAR0, 0, float, 16)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue