Mesa (master): radeonsi/gfx9: don't overallocate shader binaries

Marek Olšák mareko at kemper.freedesktop.org
Sat Jun 24 21:08:37 UTC 2017


Module: Mesa
Branch: master
Commit: e25950808f4eeec31861bf13b60e4cba8b3a7aef
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e25950808f4eeec31861bf13b60e4cba8b3a7aef

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue Jun 20 19:34:03 2017 +0200

radeonsi/gfx9: don't overallocate shader binaries

It's not needed. The hw doesn't fetch ahead over page boundaries.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/gallium/drivers/radeonsi/si_shader.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index ecc51a3f4f..6c887ddc58 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -4760,12 +4760,6 @@ int si_shader_binary_upload(struct si_screen *sscreen, struct si_shader *shader)
 	       !mainb->rodata_size);
 	assert(!epilog || !epilog->rodata_size);
 
-	/* GFX9 can fetch at most 128 bytes past the end of the shader.
-	 * Prevent VM faults.
-	 */
-	if (sscreen->b.chip_class >= GFX9)
-		bo_size += 128;
-
 	r600_resource_reference(&shader->bo, NULL);
 	shader->bo = (struct r600_resource*)
 		     pipe_buffer_create(&sscreen->b.b, 0,




More information about the mesa-commit mailing list