On Wed, Jun 1, 2016 at 2:57 PM, Marek Olšák <mar...@gmail.com> wrote:
> Hi,
>
> This is version 2 of the previous series. This time it's been tested!!
>
> Tested cards:
> - RV670
> - RV730
> - EG/REDWOOD
> - CAYMAN
>
> This patch series:
> - fixes several bugs around making 3D and CP DMA idle with respect to CP.PFP,
>   which allows removing a lot of cache flushes (= hacks really) and IB flushes
>   around CP DMA
> - removes unnecessary cache flushes
> - moves other cache flushes to places where their frequency is lower
>
> From the perspective of functions:
> - binding shader resources doesn't flush anything (why should it)
> - set_framebuffer_state flushes CB, DB, TC
> - CP DMA copy_buffer only flushes TC, VC, KC. Never CB or DB.
> - CP DMA clear_buffer only flushes TC, VC, KC when shader coherency is
>   requested, or CB when CB coherency is requested. Never DB.
> - fast color clear no longer flushes TC, VC, KC, DB. (implied by clear_buffer)
> - ending streamout newly flushes TC, VC, KC
>
> From the perspective of caches:
> - TC is flushed only by set_framebuffer_state, texture_barrier, before
>   CP DMA (except fast color clear), and after streamout
> - VC & KC are flushed only before CP DMA (except fast color clear) or after
>   streamout
> - CB is flushed by set_framebuffer_state or by fast color clear
> - DB is only flushed by set_framebuffer_state
>
> More testing may be needed, especially testing on GPUs not listed above.
>
> Also available here:
> https://cgit.freedesktop.org/~mareko/mesa/log/?h=r600-opt-flushes
>
> Please review.

For the series:
Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to