When a variable local size is defined as specified by ARB_compute_variable_group_size, the fixed local size is set to 0 and a SIGFPE occurs when we compute the maximum number of regs.
Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> --- src/gallium/drivers/nouveau/codegen/nv50_ir_target.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_target.h b/src/gallium/drivers/nouveau/codegen/nv50_ir_target.h index 4a701f7..0bb14ec 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_target.h +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_target.h @@ -174,7 +174,8 @@ public: virtual void getBuiltinCode(const uint32_t **code, uint32_t *size) const = 0; virtual void parseDriverInfo(const struct nv50_ir_prog_info *info) { - threads = info->prop.cp.numThreads; + threads = + info->prop.cp.numThreads == 0 ? 1024 : info->prop.cp.numThreads; } virtual bool runLegalizePass(Program *, CGStage stage) const = 0; -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev