[Mesa-dev] [PATCH v2 00/12] Use the constant engine in radeonsi
Bas Nieuwenhuizen
bas at basnieuwenhuizen.nl
Sat Apr 16 23:42:57 UTC 2016
For this v2 I did the following changes:
- Use Nicolai's proposed dirty mask structure.
- Use load packets to reinitialize CE ram.
- Use a preamble IB for reinitializing CE ram. I've made the
preamble IB optional in radeonsi, as the radeon kernel
driver does not support it as far as I can see.
- Changed the calculation of needed space in the CE IB.
- Dropped the patch for using the CE for the vertex buffer descriptors.
Given that this series did not really change GPU performance anyway,
and the CE way costing slightly more CPU as we never partially update
them, I think it is not useful to add it already.
- Fix u_bit_scan_consecutive_range64 for *mask = ~0llu.
- Minor whitespace fixes.
Bas Nieuwenhuizen (9):
winsys/amdgpu: Enlarge const IB size.
radeonsi: Create CE IB.
radeonsi: Add CE packet definitions.
radeonsi: Add CE synchronization.
radeonsi: Allocate chunks of CE ram.
radeonsi: Add CE uploader.
radeonsi: Replace list_dirty with a mask.
gallium/util: Add u_bit_scan_consecutive_range64.
radeonsi: Use CE for all descriptors.
Marek Olšák (3):
gallium/radeon: move ring_type into winsyses
winsys/amdgpu: split IB data into a new structure in preparation for
CE
winsys/amdgpu: Add support for const IB.
src/gallium/auxiliary/util/u_math.h | 14 +++
src/gallium/drivers/radeon/r600_pipe_common.c | 1 +
src/gallium/drivers/radeon/r600_pipe_common.h | 1 +
src/gallium/drivers/radeon/radeon_winsys.h | 31 ++++-
src/gallium/drivers/radeonsi/si_descriptors.c | 161 +++++++++++++++++++-----
src/gallium/drivers/radeonsi/si_hw_context.c | 32 ++++-
src/gallium/drivers/radeonsi/si_pipe.c | 23 ++++
src/gallium/drivers/radeonsi/si_pipe.h | 7 ++
src/gallium/drivers/radeonsi/si_state.h | 12 +-
src/gallium/drivers/radeonsi/si_state_draw.c | 24 ++++
src/gallium/drivers/radeonsi/sid.h | 6 +
src/gallium/winsys/amdgpu/drm/amdgpu_bo.c | 5 -
src/gallium/winsys/amdgpu/drm/amdgpu_bo.h | 6 +
src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 172 ++++++++++++++++++++------
src/gallium/winsys/amdgpu/drm/amdgpu_cs.h | 28 +++--
src/gallium/winsys/radeon/drm/radeon_drm_cs.c | 10 +-
src/gallium/winsys/radeon/drm/radeon_drm_cs.h | 1 +
17 files changed, 437 insertions(+), 97 deletions(-)
--
2.8.0
More information about the mesa-dev
mailing list