[Mesa-dev] [PATCH] state trackers and state changes propagation

Pierre-Eric Pelloux-Prayer pelloux at gmail.com
Fri May 20 14:03:08 PDT 2011


Hi,

I've built several patches trying to reduce the propagation of state changes.

They are proof-of-concept, and I'd like to know what you think about
them, mainly :
- do you think it's worth it ? it adds complexity to state trackers,
but it avoids some possibly expensive driver function calls.
- if yes, what would you be the best design approach for this ?

For reference, Airlied built a patch similar to my 4th one, but with a
different approach (adding an incrementing 'Generation' field to
struct instead of comparing pointers) : http://fpaste.org/QTng/

(all tests done using 2.6.38.3/64 bits/r600g)
== Regression ? ==
- piglit quick.tests with all 4 patches applied => no regression

== Some simple benchmarking ==
Successive patches applied :
  * 01 : st_atom_constbuf
  * 02 : st_atom_rasterizer
  * 03 : st_atom_texture
  * 04 : st_atom_sampler

mesa-demos: drawoverhead (draws/sec):
   * Draw only :      2100t
   * Draw w/ nop sc : 2100t
   * Draw w/ sc :
|git from 05/18 | +01     | +01->02 | +01->03 | +01->04 |
|      227t        |   328t   |   328t    |   350t     |   365t     |

openarena (anholt benchmark, 3 runs average) :
|git from 05/18 | +01     | +01->02 | +01->03 | +01->04 |
|      74.6        |   75.0   |   74.4     |   75.7    |   74.7     |


-- Pierre-Eric
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-st-mesa-reduced-constant-buffers-upload.patch
Type: text/x-patch
Size: 6679 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110520/2ad9bcfb/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-st-mesa-reduce-cso_set_rasterizer-calls-count.patch
Type: text/x-patch
Size: 12615 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110520/2ad9bcfb/attachment-0005.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-st-mesa-reduce-cso_set_vertex_sampler_views-cso_set_.patch
Type: text/x-patch
Size: 3563 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110520/2ad9bcfb/attachment-0006.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-st-mesa-reduce-cso_single_sampler-cso_single_vertex_.patch
Type: text/x-patch
Size: 6962 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110520/2ad9bcfb/attachment-0007.bin>


More information about the mesa-dev mailing list