amd/addrlib: second update for Vega10 + bug fixes
authorMarek Olšák <marek.olsak@amd.com>
Mon, 27 Feb 2017 21:25:44 +0000 (22:25 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 4 Apr 2017 09:14:43 +0000 (11:14 +0200)
commit18e760346aab10affd6e9ff129f800d90fa28456
tree675c8774069880cd1d0f5ba1523e255071d9069b
parent3e7d62a774c2598f308e612507672136886ebe60
amd/addrlib: second update for Vega10 + bug fixes

Highlights:
- Display needs tiled pitch alignment to be at least 32 pixels
- Implement Addr2ComputeDccAddrFromCoord().
- Macro-pixel packed formats don't support Z swizzle modes
- Pad pitch and base alignment of PRT + TEX1D to 64KB.
- Fix support for multimedia formats
- Fix a case "PRT" entries are not selected on SI.
- Fix wrong upper bits in equations for 3D resource.
- We can't support 2d array slice rotation in gfx8 swizzle pattern
- Set base alignment for PRT + non-xor swizzle mode resource to 64KB.
- Bug workaround for Z16 4x/8x and Z32 2x/4x/8x MSAA depth texture
- Add stereo support
- Optimize swizzle mode selection
- Report pitch and height in pixels for each mip
- Adjust bpp/expandX for format ADDR_FMT_GB_GR/ADDR_FMT_BG_RG
- Correct tcCompatible flag output for mipmap surface
- Other fixes and cleanups

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
17 files changed:
src/amd/addrlib/addrinterface.cpp
src/amd/addrlib/addrinterface.h
src/amd/addrlib/core/addrcommon.h
src/amd/addrlib/core/addrelemlib.cpp
src/amd/addrlib/core/addrelemlib.h
src/amd/addrlib/core/addrlib.h
src/amd/addrlib/core/addrlib1.cpp
src/amd/addrlib/core/addrlib1.h
src/amd/addrlib/core/addrlib2.cpp
src/amd/addrlib/core/addrlib2.h
src/amd/addrlib/gfx9/gfx9addrlib.cpp
src/amd/addrlib/gfx9/gfx9addrlib.h
src/amd/addrlib/r800/ciaddrlib.cpp
src/amd/addrlib/r800/ciaddrlib.h
src/amd/addrlib/r800/egbaddrlib.cpp
src/amd/addrlib/r800/egbaddrlib.h
src/amd/addrlib/r800/siaddrlib.cpp