mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 16:50:10 +01:00
d3d12: Capture always_active_io in varying data
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535>
This commit is contained in:
parent
5d0c77658c
commit
580f801bac
3 changed files with 5 additions and 0 deletions
|
|
@ -515,6 +515,7 @@ create_varying_from_info(nir_shader *nir, const struct d3d12_varying_info *info,
|
|||
var->data.interpolation = info->slots[slot].vars[slot_frac].interpolation;
|
||||
var->data.patch = info->slots[slot].patch;
|
||||
var->data.compact = info->slots[slot].vars[slot_frac].compact;
|
||||
var->data.always_active_io = info->slots[slot].vars[slot_frac].always_active_io;
|
||||
if (patch)
|
||||
var->data.location += VARYING_SLOT_PATCH0;
|
||||
|
||||
|
|
@ -573,6 +574,7 @@ fill_varyings(struct d3d12_context *ctx, const nir_shader *s,
|
|||
var_slot.driver_location = var->data.driver_location;
|
||||
var_slot.interpolation = var->data.interpolation;
|
||||
var_slot.compact = var->data.compact;
|
||||
var_slot.always_active_io = var->data.always_active_io;
|
||||
info.mask |= slot_bit;
|
||||
info.slots[slot].location_frac_mask |= (1 << var->data.location_frac);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ struct d3d12_varying_info {
|
|||
unsigned interpolation:3; // INTERP_MODE_COUNT = 5
|
||||
unsigned driver_location:6; // VARYING_SLOT_MAX = 64
|
||||
unsigned compact:1;
|
||||
unsigned always_active_io:1;
|
||||
} vars[4];
|
||||
} slots[VARYING_SLOT_MAX];
|
||||
uint64_t mask;
|
||||
|
|
|
|||
|
|
@ -121,6 +121,7 @@ d3d12_make_passthrough_gs(struct d3d12_context *ctx, struct d3d12_gs_variant_key
|
|||
out->data.driver_location = key->varyings->slots[i].vars[j].driver_location;
|
||||
out->data.interpolation = key->varyings->slots[i].vars[j].interpolation;
|
||||
out->data.compact = key->varyings->slots[i].vars[j].compact;
|
||||
out->data.always_active_io = key->varyings->slots[i].vars[j].always_active_io;
|
||||
|
||||
nir_deref_instr *in_value = nir_build_deref_array(&b, nir_build_deref_var(&b, in),
|
||||
nir_imm_int(&b, 0));
|
||||
|
|
@ -236,6 +237,7 @@ d3d12_begin_emit_primitives_gs(struct emit_primitives_context *emit_ctx,
|
|||
emit_ctx->out[emit_ctx->num_vars]->data.driver_location = key->varyings->slots[i].vars[j].driver_location;
|
||||
emit_ctx->out[emit_ctx->num_vars]->data.interpolation = key->varyings->slots[i].vars[j].interpolation;
|
||||
emit_ctx->out[emit_ctx->num_vars]->data.compact = key->varyings->slots[i].vars[j].compact;
|
||||
emit_ctx->out[emit_ctx->num_vars]->data.always_active_io = key->varyings->slots[i].vars[j].always_active_io;
|
||||
|
||||
emit_ctx->num_vars++;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue