projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5271d12
)
radeonsi/gfx9: pad shader binaries by 128 bytes
author
Marek Olšák
<marek.olsak@amd.com>
Tue, 7 Feb 2017 22:45:47 +0000
(23:45 +0100)
committer
Marek Olšák
<marek.olsak@amd.com>
Thu, 30 Mar 2017 12:44:33 +0000
(14:44 +0200)
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/radeonsi/si_shader.c
patch
|
blob
|
history
diff --git
a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 575dd6c380f865b055318dd507a49d759772e02f..20d6bd732b268c9faa00b3177b6a89582c4eebef 100644
(file)
--- a/
src/gallium/drivers/radeonsi/si_shader.c
+++ b/
src/gallium/drivers/radeonsi/si_shader.c
@@
-5872,6
+5872,12
@@
int si_shader_binary_upload(struct si_screen *sscreen, struct si_shader *shader)
assert((!prolog && !epilog) || !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,