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.

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

Reply via email to