[Mesa-dev] [PATCH 00/42] RadeonSI cleaning up states
deathsimple at vodafone.de
Mon Aug 31 00:11:05 PDT 2015
On 31.08.2015 05:50, Alex Deucher wrote:
> On Sun, Aug 30, 2015 at 3:11 PM, Marek Olšák <maraeo at gmail.com> wrote:
>> 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>
Nice cleanup. Whole series is Acked-by: Christian König
<christian.koenig at amd.com>
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
More information about the mesa-dev