diff options
author | Jordan Justen <[email protected]> | 2016-02-15 15:17:15 -0800 |
---|---|---|
committer | Jordan Justen <[email protected]> | 2016-02-17 09:25:47 -0800 |
commit | 9a939ebb47a0d37a6b29e3dbb1b20bdc9538a721 (patch) | |
tree | 3a26bd80e619a60100ad7a2b763cb2edf08f8a70 /src/gallium/drivers/r600 | |
parent | 37d540ba709ae0128a6fb3e11a7124eb6e8c00a0 (diff) |
i965/gen7: Use predicated rendering for indirect compute
On gen7 (Ivy Bridge, Haswell), we will get a GPU hang if an indirect
dispatch is used, but one of the dimensions is 0.
Therefore we use predicated rendering on the GPGPU_WALKER command to
handle this case.
Fixes piglit test: spec/arb_compute_shader/zero-dispatch-size
From the ARB_compute_shader spec, under DispatchCompute:
"If the work group count in any dimension is zero, no work groups are
dispatched."
And then for DispatchComputeIndirect:
... "is equivalent (assuming no errors are generated) to calling
DispatchCompute with <num_groups_x>, <num_groups_y> and
<num_groups_z>" ...
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94100
Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Ben Widawsky <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Tested-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600')
0 files changed, 0 insertions, 0 deletions