intel/compiler: handle coarse pixel in render target writes descriptors
v2: Use the new inst->ex_desc field (Jason) v3: Drop CPS LoD compensation from sampler messages (Lionel) v4: Drop useless uses_rate_shading (Ken) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7455>
This commit is contained in:
committed by
Marge Bot
parent
d665c2dcf0
commit
b6332fc4a8
@@ -4663,7 +4663,8 @@ lower_fb_write_logical_send(const fs_builder &bld, fs_inst *inst,
|
||||
|
||||
inst->desc =
|
||||
(inst->group / 16) << 11 | /* rt slot group */
|
||||
brw_fb_write_desc(devinfo, inst->target, msg_ctl, inst->last_rt);
|
||||
brw_fb_write_desc(devinfo, inst->target, msg_ctl, inst->last_rt,
|
||||
prog_data->per_coarse_pixel_dispatch);
|
||||
|
||||
uint32_t ex_desc = 0;
|
||||
if (devinfo->ver >= 11) {
|
||||
@@ -5340,7 +5341,7 @@ lower_sampler_logical_send_gfx7(const fs_builder &bld, fs_inst *inst, opcode op,
|
||||
simd_mode,
|
||||
0 /* return_format unused on gfx7+ */);
|
||||
inst->src[0] = brw_imm_ud(0);
|
||||
inst->src[1] = brw_imm_ud(0); /* ex_desc */
|
||||
inst->src[1] = brw_imm_ud(0);
|
||||
} else if (surface_handle.file != BAD_FILE) {
|
||||
/* Bindless surface */
|
||||
assert(devinfo->ver >= 9);
|
||||
@@ -5398,6 +5399,8 @@ lower_sampler_logical_send_gfx7(const fs_builder &bld, fs_inst *inst, opcode op,
|
||||
inst->src[1] = brw_imm_ud(0); /* ex_desc */
|
||||
}
|
||||
|
||||
inst->ex_desc = 0;
|
||||
|
||||
inst->src[2] = src_payload;
|
||||
inst->resize_sources(3);
|
||||
|
||||
@@ -9103,6 +9106,13 @@ brw_nir_populate_wm_prog_data(const nir_shader *shader,
|
||||
prog_data->barycentric_interp_modes =
|
||||
brw_compute_barycentric_interp_modes(devinfo, shader);
|
||||
|
||||
prog_data->per_coarse_pixel_dispatch =
|
||||
key->coarse_pixel &&
|
||||
!prog_data->persample_dispatch &&
|
||||
!prog_data->uses_sample_mask &&
|
||||
(prog_data->computed_depth_mode == BRW_PSCDEPTH_OFF) &&
|
||||
!prog_data->computed_stencil;
|
||||
|
||||
calculate_urb_setup(devinfo, key, prog_data, shader);
|
||||
brw_compute_flat_inputs(prog_data, shader);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user