drm/radeon/kms: optimize CS state checking for r100->r500
authorMarek Olšák <maraeo@gmail.com>
Sat, 12 Feb 2011 18:21:35 +0000 (19:21 +0100)
committerDave Airlie <airlied@redhat.com>
Sun, 13 Feb 2011 23:23:27 +0000 (09:23 +1000)
commit40b4a7599d5555b408e594f4c8dae8015ccaae8f
tree7241f131fe800f67b49b0d66241609b3e171270d
parent01e2f533a234dc62d16c0d3d4fb9d71cf1ce50c3
drm/radeon/kms: optimize CS state checking for r100->r500

The colorbuffer, zbuffer, and texture states are checked only once when
they get changed. This improves performance in the apps which emit
lots of draw packets and few state changes.

This drops performance in glxgears by a 1% or so, but glxgears is not
a benchmark we care about.
The time spent in the kernel when running Torcs dropped from 33% to 23%
and the frame rate is higher, which is a good thing.

r600 might need something like this as well.

Signed-off-by: Marek Olšák <maraeo@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/r100.c
drivers/gpu/drm/radeon/r100_track.h
drivers/gpu/drm/radeon/r200.c
drivers/gpu/drm/radeon/r300.c