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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev