mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-21 02:50:09 +01:00
intel/brw/xe2+: Keep PS sample mask in the f1.0 register whether or not kill is used.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28283>
This commit is contained in:
parent
7668de019b
commit
7c129d9365
1 changed files with 4 additions and 4 deletions
|
|
@ -2091,8 +2091,8 @@ brw_sample_mask_reg(const fs_builder &bld)
|
||||||
|
|
||||||
if (s.stage != MESA_SHADER_FRAGMENT) {
|
if (s.stage != MESA_SHADER_FRAGMENT) {
|
||||||
return brw_imm_ud(0xffffffff);
|
return brw_imm_ud(0xffffffff);
|
||||||
} else if (brw_wm_prog_data(s.prog_data)->uses_kill) {
|
} else if (s.devinfo->ver >= 20 ||
|
||||||
assert(bld.dispatch_width() <= 16);
|
brw_wm_prog_data(s.prog_data)->uses_kill) {
|
||||||
return brw_flag_subreg(sample_mask_flag_subreg(s) + bld.group() / 16);
|
return brw_flag_subreg(sample_mask_flag_subreg(s) + bld.group() / 16);
|
||||||
} else {
|
} else {
|
||||||
assert(bld.dispatch_width() <= 16);
|
assert(bld.dispatch_width() <= 16);
|
||||||
|
|
@ -2147,7 +2147,7 @@ brw_emit_predicate_on_sample_mask(const fs_builder &bld, fs_inst *inst)
|
||||||
const fs_reg sample_mask = brw_sample_mask_reg(bld);
|
const fs_reg sample_mask = brw_sample_mask_reg(bld);
|
||||||
const unsigned subreg = sample_mask_flag_subreg(s);
|
const unsigned subreg = sample_mask_flag_subreg(s);
|
||||||
|
|
||||||
if (brw_wm_prog_data(s.prog_data)->uses_kill) {
|
if (s.devinfo->ver >= 20 || brw_wm_prog_data(s.prog_data)->uses_kill) {
|
||||||
assert(sample_mask.file == ARF &&
|
assert(sample_mask.file == ARF &&
|
||||||
sample_mask.nr == brw_flag_subreg(subreg).nr &&
|
sample_mask.nr == brw_flag_subreg(subreg).nr &&
|
||||||
sample_mask.subnr == brw_flag_subreg(
|
sample_mask.subnr == brw_flag_subreg(
|
||||||
|
|
@ -3268,7 +3268,7 @@ fs_visitor::run_fs(bool allow_spilling, bool do_rep_send)
|
||||||
/* We handle discards by keeping track of the still-live pixels in f0.1.
|
/* We handle discards by keeping track of the still-live pixels in f0.1.
|
||||||
* Initialize it with the dispatched pixels.
|
* Initialize it with the dispatched pixels.
|
||||||
*/
|
*/
|
||||||
if (wm_prog_data->uses_kill) {
|
if (devinfo->ver >= 20 || wm_prog_data->uses_kill) {
|
||||||
const unsigned lower_width = MIN2(dispatch_width, 16);
|
const unsigned lower_width = MIN2(dispatch_width, 16);
|
||||||
for (unsigned i = 0; i < dispatch_width / lower_width; i++) {
|
for (unsigned i = 0; i < dispatch_width / lower_width; i++) {
|
||||||
/* According to the "PS Thread Payload for Normal
|
/* According to the "PS Thread Payload for Normal
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue