[Mesa-dev] [PATCH 00/42] RadeonSI cleaning up states

Alex Deucher alexdeucher at gmail.com
Sun Aug 30 20:50:39 PDT 2015


On Sun, Aug 30, 2015 at 3:11 PM, Marek Olšák <maraeo at gmail.com> wrote:
> Hi,
>
> Nothing special here, just a lot of cosmetic changes and a few micro-optimizations.
>
> This series starts with some fixes for 11.0 (patches 3-5).
>
> Then it converts a half of pm4 states into atoms. All direct states are converted (set_* functions and derived states). All CSOs (init_config, blend, DSA, rasterizer, shaders) will remain as pm4 states.
>
> The viewport and scissor states are optimized. The main thing is that setting non-zero viewports and scissors is delayed until a shader that writes VIEWPORT_INDEX appears (which is typically never).
>
> The geometry and tessellation ring registers and border color registers are moved to the init_config state, removing 3 more states.
>
> All shared functions for writing registers are renamed to radeon_xxx, e.g. radeon_set_context_reg instead of r600_write_context_reg. r600_context_bo_reloc is renamed to radeon_add_to_buffer_list. It now makes sense when you're reading it.
>
> Radeonsi no longer counts how much CS space it needs for draw calls and CP DMA. One need_cs_space call will make sure there are at least 2048 dwords and that's it. Even that is too many, but it's safe.
>
> Uploading border colors is rewritten. Now it's using a static buffer, so the limit is 4096 unique border colors per context. Thanks to that, sampler states are finally immutable, which will be useful for the constant engine.
>
> Lastly, the INDIRECT_BUFFER packet is used for the init_config state on CIK and later.

For the series:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

>
> Marek
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list