mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 13:40:11 +01:00
radv: do not honor a user-specified pitch on GFX 10.3
According to RadeonSI, it breaks mipmapping. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6168>
This commit is contained in:
parent
7f25f1f106
commit
22c8079829
1 changed files with 5 additions and 21 deletions
|
|
@ -833,27 +833,11 @@ gfx10_make_texture_descriptor(struct radv_device *device,
|
|||
last_level) |
|
||||
S_00A00C_BC_SWIZZLE(gfx9_border_color_swizzle(swizzle)) |
|
||||
S_00A00C_TYPE(type);
|
||||
|
||||
if (type == V_008F1C_SQ_RSRC_IMG_1D ||
|
||||
type == V_008F1C_SQ_RSRC_IMG_2D ||
|
||||
type == V_008F1C_SQ_RSRC_IMG_2D_MSAA) {
|
||||
/* 1D, 2D, and 2D_MSAA can set a custom pitch for shader
|
||||
* resources starting with gfx10.3 (ignored if pitch <=
|
||||
* width). Other texture targets can't. CB and DB can't set a
|
||||
* custom pitch for any target.
|
||||
* */
|
||||
if (device->physical_device->rad_info.chip_class >= GFX10_3)
|
||||
state[4] = S_00A010_DEPTH(image->planes[0].surface.u.gfx9.surf_pitch - 1);
|
||||
else
|
||||
state[4] = 0;
|
||||
} else {
|
||||
/* Depth is the the last accessible layer on gfx9+. The hw doesn't need
|
||||
* to know the total number of layers.
|
||||
*/
|
||||
state[4] = S_00A010_DEPTH(type == V_008F1C_SQ_RSRC_IMG_3D ? depth - 1 : last_layer) |
|
||||
S_00A010_BASE_ARRAY(first_layer);
|
||||
}
|
||||
|
||||
/* Depth is the the last accessible layer on gfx9+. The hw doesn't need
|
||||
* to know the total number of layers.
|
||||
*/
|
||||
state[4] = S_00A010_DEPTH(type == V_008F1C_SQ_RSRC_IMG_3D ? depth - 1 : last_layer) |
|
||||
S_00A010_BASE_ARRAY(first_layer);
|
||||
state[5] = S_00A014_ARRAY_PITCH(0) |
|
||||
S_00A014_MAX_MIP(image->info.samples > 1 ?
|
||||
util_logbase2(image->info.samples) :
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue