| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The change also modifies function CiLib::HwlPadDimensions to report
adjusted pitch alignment.
|
|
|
|
|
|
| |
Find ^/{80,99}$ and replace them to 100 "/"
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
| |
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
| |
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
| |
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
|
| |
This can be used by address lib client to ask address lib to select
tile mode.
|
|
|
|
| |
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
| |
Experiment show 1D tiling + TcCompatible cannot work together.
|
| |
|
|
|
|
|
| |
This is useful for debugging and special cases for stencil surfaces
do not require texture fetch compatible.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Add new surface flags needEquation for client driver use to force
the surface tile setting equation compatible. Override 2D/3D macro
tile mode to PRT_* tile mode if this flag is TRUE and num slice > 1.
2. Add numEquations and pEquationTable in ADDR_CREATE_OUTPUT structure
to return number of equations and the equation table to client driver
3. Add equationIndex in ADDR_COMPUTE_SURFACE_INFO_OUTPUT structure to
return the equation index to client driver
Please note the use of address equation has following restrictions:
1) The surface can't be splitable
2) The surface can't have non zero tile swizzle value
3) Surface with > 1 slices must have PRT tile mode, which disable
slice rotation
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Sometimes client driver passes valid tile info into address library,
in this case, the tile index is computed in function
HwlPostCheckTileIndex instead of CiAddrLib::HwlSetupTileCfg.
We need to call HwlPostCheckTileIndex to calculate the correct tile
index to get tile split bytes for this case.
|
|
|
|
| |
It helps fix analysis warnings in MSC.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and AddrConvertTileInfoToHW
When clients queries tile Info from tile index and expects accurate
tileSplit info, bits per pixel info is required to be provided since
this is necessary for computing tileSplitBytes; otherwise Addrlib will
return value of "tileBytes" instead if bpp is 0 - which is also
current logic. If clients don't need tileSplit info, it's OK to pass
bpp with value 0.
|
|
|
|
|
| |
Switch the tile index based on logic instead of hardcoded threshold
for different ASIC.
|
|
|
|
|
| |
This flag indicates to the client if this level's DCC memory is aligned
or not. No aligned means there are padding to the end.
|
|
|
|
| |
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
| |
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
|
|
| |
Add one more abstraction layer into inheritance system.
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
|
|
| |
No code changes.
Signed-off-by: Nicolai Hähnle <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Kaveri (2-pipe) macro tiling mode table was initially set to all
4-aspect-ratio so the swizzling path did not work for it and then we
chose to pad the offset. We now discover the root cause is that if
ratio > 2, the swizzling path does not work. So we can safely use the
same path for Kaveri.
|
|
|
|
| |
Note: remove reference to degrade4Space and use opt4Space instead.
|
|
|
|
|
|
|
| |
Even if surface info input flag "tcComaptible" is enabled, tc
compatible may be not supported if tile split happens for depth
surfaces. Add a new flag in output structure to notify client to
disable tc compatible in this case.
|
|
|
|
| |
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
|
| |
Flag tcCompatible has different usage in CI and VI. Add a new flag
"nonSplit" for CI.
|
|
|
|
|
|
|
| |
Carrizo row size is 1K, while tileSplitBytes is 2K for a 4xAA 32bpp
depth surface. Remove the sanity check that tileSplitBytes must be
greater than row size. There could be performance loss but may be
covered by non-split depth which enables tc-compatible read.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the logic to compute tc compatible stencil info via depth's
tileIndex instead of using depth's tileInfo. So the clients can get
the stencil's tileInfo computed from macroModeTable. If the stencil
tileInfo is same as depth tileInfo, then stencil is tc compatible;
otherwise, stencil is not tc compatible. The current suggestion is to
create another stencil buffer with the tc compatible tileInfo, use
depth-to-color copy to decompress and tile convert the rendered
stencil to tc compoatible stencil (And use the new stencil buffer to
program TC).
|
|
|
|
| |
Signed-off-by: Nicolai Hähnle <[email protected]>
|
|
|
|
|
|
| |
some days it just doesn't pay to get out of bed.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
| |
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Doing this before tessellation makes doing some bits of
tessellation a bit cleaner. It also cleans up a bit of the
llvm generator code.
Reviewed-by: Edward O'Callaghan <[email protected]>
Acked-by: Bas Nieuwenhuizen <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
| |
Signed-off-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per the Vulkan spec, memory objects may be deleted before the buffers
and images using them are deleted, although those resources then
cannot be used except for deletion themselves.
For the virtual buffers, we need to access them on resource destruction
to unmap the regions, so this results in a use-after-free. Implement
reference counting to avoid this.
Signed-off-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
v2: Only submit when semaphores are specified.
Signed-off-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
|
|
|
|
|
| |
Signed-off-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
|
|
|
|
|
| |
Signed-off-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
| |
v2: - Added comments.
- Fixed a double unmap bug.
- Actually unmap the non-edge old ranges.
Signed-off-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
To catch more of those hangs early.
Signed-off-by: Bas Nieuwenhuizen <[email protected]>
Acked-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
Otherwise we get GPU hangs.
Reported-by: Alex Smith <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
| |
With tess this becomes a bit more complex. so move to pipeline
for now.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
This also takes the side band setting code from radeonsi.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
There is no need to calculate this on each command submit.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
|