mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 09:28:07 +02:00
zink: remove tcs patch slot map
this is illegal, and we'll just have to eat some piglit fails until indirects are handled Fixes:f7ade1f188("zink: simplify shader i/o assignment") Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15976> (cherry picked from commit12cf9a1544) Conflicts: src/gallium/drivers/zink/ci/zink-lvp-fails.txt
This commit is contained in:
parent
72cc88d205
commit
247ecdcc05
3 changed files with 10 additions and 10 deletions
|
|
@ -1201,7 +1201,7 @@
|
|||
"description": "zink: remove tcs patch slot map",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "f7ade1f1885b7133c68843d7bb31663256b8bb15"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
# #6115
|
||||
spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-float-index-rd,Crash
|
||||
spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-vec2-index-rd,Crash
|
||||
spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-vec3-index-rd,Crash
|
||||
spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-vec4-index-rd,Crash
|
||||
|
||||
# #6270
|
||||
spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,Fail
|
||||
|
||||
|
|
|
|||
|
|
@ -1169,11 +1169,9 @@ rewrite_and_discard_read(nir_builder *b, nir_instr *instr, void *data)
|
|||
void
|
||||
zink_compiler_assign_io(nir_shader *producer, nir_shader *consumer)
|
||||
{
|
||||
unsigned reserved = 0, patch_reserved = 0;
|
||||
unsigned reserved = 0;
|
||||
unsigned char slot_map[VARYING_SLOT_MAX];
|
||||
memset(slot_map, -1, sizeof(slot_map));
|
||||
unsigned char patch_slot_map[VARYING_SLOT_MAX];
|
||||
memset(patch_slot_map, -1, sizeof(patch_slot_map));
|
||||
bool do_fixup = false;
|
||||
nir_shader *nir = producer->info.stage == MESA_SHADER_TESS_CTRL ? producer : consumer;
|
||||
if (consumer->info.stage != MESA_SHADER_FRAGMENT) {
|
||||
|
|
@ -1189,13 +1187,9 @@ zink_compiler_assign_io(nir_shader *producer, nir_shader *consumer)
|
|||
if (producer->info.stage == MESA_SHADER_TESS_CTRL) {
|
||||
/* never assign from tcs -> tes, always invert */
|
||||
nir_foreach_variable_with_modes(var, consumer, nir_var_shader_in)
|
||||
assign_producer_var_io(consumer->info.stage, var,
|
||||
var->data.patch ? &patch_reserved : &reserved,
|
||||
var->data.patch ? patch_slot_map : slot_map);
|
||||
assign_producer_var_io(consumer->info.stage, var, &reserved, slot_map);
|
||||
nir_foreach_variable_with_modes_safe(var, producer, nir_var_shader_out) {
|
||||
if (!assign_consumer_var_io(producer->info.stage, var,
|
||||
var->data.patch ? &patch_reserved : &reserved,
|
||||
var->data.patch ? patch_slot_map : slot_map))
|
||||
if (!assign_consumer_var_io(producer->info.stage, var, &reserved, slot_map))
|
||||
/* this is an output, nothing more needs to be done for it to be dropped */
|
||||
do_fixup = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue