mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-21 22:20:14 +01:00
aco: fix missing uses of MRT output flags
Fixes regressions on GFX6 and the RAGE2 workaround.
Fixes: a297ac10a4 ("radv,aco: stop lowering FS outputs in NIR")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20154>
This commit is contained in:
parent
40f09f4e1c
commit
da32cbb5c6
3 changed files with 9 additions and 0 deletions
|
|
@ -11504,6 +11504,9 @@ create_fs_exports(isel_context* ctx)
|
||||||
out.slot = compacted_mrt_index;
|
out.slot = compacted_mrt_index;
|
||||||
out.write_mask = ctx->outputs.mask[i];
|
out.write_mask = ctx->outputs.mask[i];
|
||||||
out.col_format = (ctx->options->key.ps.col_format >> (4 * idx)) & 0xf;
|
out.col_format = (ctx->options->key.ps.col_format >> (4 * idx)) & 0xf;
|
||||||
|
out.is_int8 = (ctx->options->key.ps.is_int8 >> idx) & 1;
|
||||||
|
out.is_int10 = (ctx->options->key.ps.is_int10 >> idx) & 1;
|
||||||
|
out.enable_mrt_output_nan_fixup = (ctx->options->key.ps.enable_mrt_output_nan_fixup >> idx) & 1;
|
||||||
|
|
||||||
for (unsigned c = 0; c < 4; ++c) {
|
for (unsigned c = 0; c < 4; ++c) {
|
||||||
if (out.write_mask & (1 << c)) {
|
if (out.write_mask & (1 << c)) {
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,9 @@ struct aco_stage_input {
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
uint32_t col_format;
|
uint32_t col_format;
|
||||||
|
uint32_t is_int8;
|
||||||
|
uint32_t is_int10;
|
||||||
|
uint8_t enable_mrt_output_nan_fixup;
|
||||||
|
|
||||||
/* Used to export alpha through MRTZ for alpha-to-coverage (GFX11+). */
|
/* Used to export alpha through MRTZ for alpha-to-coverage (GFX11+). */
|
||||||
bool alpha_to_coverage_via_mrtz;
|
bool alpha_to_coverage_via_mrtz;
|
||||||
|
|
|
||||||
|
|
@ -135,6 +135,9 @@ radv_aco_convert_pipe_key(struct aco_stage_input *aco_info,
|
||||||
ASSIGN_FIELD_CP(vs.vertex_binding_align);
|
ASSIGN_FIELD_CP(vs.vertex_binding_align);
|
||||||
ASSIGN_FIELD(tcs.tess_input_vertices);
|
ASSIGN_FIELD(tcs.tess_input_vertices);
|
||||||
ASSIGN_FIELD(ps.col_format);
|
ASSIGN_FIELD(ps.col_format);
|
||||||
|
ASSIGN_FIELD(ps.is_int8);
|
||||||
|
ASSIGN_FIELD(ps.is_int10);
|
||||||
|
ASSIGN_FIELD(ps.enable_mrt_output_nan_fixup);
|
||||||
ASSIGN_FIELD(ps.alpha_to_coverage_via_mrtz);
|
ASSIGN_FIELD(ps.alpha_to_coverage_via_mrtz);
|
||||||
ASSIGN_FIELD(ps.mrt0_is_dual_src);
|
ASSIGN_FIELD(ps.mrt0_is_dual_src);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue