[Mesa-dev] [RFC] r600g/radeonsi: Use caching buffer manager for textures as well

Michel Dänzer michel at daenzer.net
Thu Apr 10 02:23:00 PDT 2014


From: Michel Dänzer <michel.daenzer at amd.com>

---

This is just an RFC; if other developers approve of this approach, I can
make a more extensive patch removing the use_reusable_pool parameters.

The x11perf numbers below compare ShmGet/PutImage before and after this
change with glamor from keithp's glamor-server xserver branch on a Kaveri
APU. The change also reduces the total runtime of the gtkperf tests from
about 3.5s to about 3s.

1: x11perf-baseline.txt
2: x11perf-caching.txt

    1              2           Operation
--------   -----------------   -----------------
  9070.0    48500.0 (  5.35)   ShmPutImage 10x10 square 
  5670.0    27700.0 (  4.89)   ShmPutImage 100x100 square 
   758.0     2350.0 (  3.10)   ShmPutImage 500x500 square 
  3600.0     5360.0 (  1.49)   ShmGetImage 10x10 square 
  2960.0     5720.0 (  1.93)   ShmGetImage 100x100 square 
   346.0     1140.0 (  3.29)   ShmGetImage 500x500 square 

 src/gallium/drivers/radeon/r600_texture.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c
index e39b9ec..293eeaa 100644
--- a/src/gallium/drivers/radeon/r600_texture.c
+++ b/src/gallium/drivers/radeon/r600_texture.c
@@ -633,7 +633,7 @@ r600_texture_create_object(struct pipe_screen *screen,
 	/* Now create the backing buffer. */
 	if (!buf) {
 		if (!r600_init_resource(rscreen, resource, rtex->size,
-					rtex->surface.bo_alignment, FALSE)) {
+					rtex->surface.bo_alignment, TRUE)) {
 			FREE(rtex);
 			return NULL;
 		}
-- 
1.9.0



More information about the mesa-dev mailing list