mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 17:58:26 +02:00
panfrost: Include pointer for each sample
Treating it like an array/3D texture. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782>
This commit is contained in:
parent
41c06deb63
commit
937d3687ac
1 changed files with 14 additions and 10 deletions
|
|
@ -215,22 +215,26 @@ panfrost_emit_texture_payload(
|
|||
panfrost_adjust_cube_dimensions(&first_face, &last_face, &first_layer, &last_layer);
|
||||
}
|
||||
|
||||
nr_samples = MAX2(nr_samples, 1);
|
||||
|
||||
unsigned idx = 0;
|
||||
|
||||
for (unsigned w = first_layer; w <= last_layer; ++w) {
|
||||
for (unsigned l = first_level; l <= last_level; ++l) {
|
||||
for (unsigned f = first_face; f <= last_face; ++f) {
|
||||
payload[idx++] = base + panfrost_texture_offset(
|
||||
slices, type == MALI_TEX_3D,
|
||||
cube_stride, l, w * face_mult + f);
|
||||
for (unsigned s = 0; s < nr_samples; ++s) {
|
||||
payload[idx++] = base + panfrost_texture_offset(
|
||||
slices, type == MALI_TEX_3D,
|
||||
cube_stride, l, w * face_mult + f, s);
|
||||
|
||||
if (manual_stride) {
|
||||
payload[idx++] = (layout == MALI_TEXTURE_LINEAR) ?
|
||||
slices[l].stride :
|
||||
panfrost_nonlinear_stride(layout,
|
||||
MAX2(desc->block.bits / 8, 1),
|
||||
u_minify(width, l),
|
||||
u_minify(height, l));
|
||||
if (manual_stride) {
|
||||
payload[idx++] = (layout == MALI_TEXTURE_LINEAR) ?
|
||||
slices[l].stride :
|
||||
panfrost_nonlinear_stride(layout,
|
||||
MAX2(desc->block.bits / 8, 1),
|
||||
u_minify(width, l),
|
||||
u_minify(height, l));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue