forked from Minki/linux
drm/radeon: don't check mipmap alignment if MIP_ADDRESS is FMASK
The MIP_ADDRESS state has 2 meanings. If the texture has one sample per pixel, it's a pointer to the mipmap chain. If the texture has multiple samples per pixel, it's a pointer to FMASK, a metadata buffer needed for reading compressed MSAA textures. The mipmap alignment rules do not apply to FMASK. Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
d808fc8829
commit
774c389fae
@ -834,7 +834,7 @@ static int evergreen_cs_track_validate_texture(struct radeon_cs_parser *p,
|
||||
__func__, __LINE__, toffset, surf.base_align);
|
||||
return -EINVAL;
|
||||
}
|
||||
if (moffset & (surf.base_align - 1)) {
|
||||
if (surf.nsamples <= 1 && moffset & (surf.base_align - 1)) {
|
||||
dev_warn(p->dev, "%s:%d mipmap bo base %ld not aligned with %ld\n",
|
||||
__func__, __LINE__, moffset, surf.base_align);
|
||||
return -EINVAL;
|
||||
|
@ -70,9 +70,10 @@
|
||||
* 2.27.0 - r600-SI: Add CS ioctl support for async DMA
|
||||
* 2.28.0 - r600-eg: Add MEM_WRITE packet support
|
||||
* 2.29.0 - R500 FP16 color clear registers
|
||||
* 2.30.0 - fix for FMASK texturing
|
||||
*/
|
||||
#define KMS_DRIVER_MAJOR 2
|
||||
#define KMS_DRIVER_MINOR 29
|
||||
#define KMS_DRIVER_MINOR 30
|
||||
#define KMS_DRIVER_PATCHLEVEL 0
|
||||
int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags);
|
||||
int radeon_driver_unload_kms(struct drm_device *dev);
|
||||
|
Loading…
Reference in New Issue
Block a user