summaryrefslogtreecommitdiffstats
path: root/.editorconfig
diff options
context:
space:
mode:
authorGert Wollny <[email protected]>2018-07-05 19:11:22 +0200
committerGert Wollny <[email protected]>2018-07-13 21:11:34 +0200
commit695a4cb0f6120463d16d3e0ef747675a83b769ea (patch)
treee22ea5526fcb62b6f027e07ec519a9a603235d33 /.editorconfig
parent3b4279f772b0ca29def6aa666d69008b1f118a16 (diff)
r600: Add spill output to group only if register or target index changes
The current spill code checks in each instruction of an instruction group whether spilling is needed and if so, it adds spilling for each component as a seperate instruction and it allocates a new temporary for each component and since it takes the write mask from the TGSI representation, all components might be written each time and as a result already written components might be overwritten with garbage like: ... y: MOV R9.y, [0x42140000 37].x t: MOV R8.x, [0x42040000 33].y ... MEM_SCRATCH WRITE_IND_ACK 0 R9.xy__, @R4.x ES:3 MEM_SCRATCH WRITE_IND_ACK 0 R8.xy__, @R4.x ES:3 ... To resolve this isse accumulate spills to the same memory location so that only one memory write instruction is emitted for an instruction group that writes up to all four components. This fixes updated piglits (see https://patchwork.freedesktop.org/series/46064/): spec/glsl-1.30/execution fs-large-local-array-vec2.shader_test fs-large-local-array-vec3.shader_test fs-large-local-array-vec4.shader_test v2: fix some typos and add comment about piglits (Roland Scheidegger) Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> (v1)
Diffstat (limited to '.editorconfig')
0 files changed, 0 insertions, 0 deletions