radeonsi: fix SGPRS calculation once more
authorMarek Olšák <marek.olsak@amd.com>
Wed, 13 Apr 2016 11:50:04 +0000 (13:50 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 14 Apr 2016 15:00:14 +0000 (17:00 +0200)
commit51c4034f9b344919839cd0bfaa50624a17b61ae5
tree080e23ac9c680f47db98d3f67d43635eba5d40bb
parentaaf5be4a29b4537b7e298c3ddf889180f3b4d855
radeonsi: fix SGPRS calculation once more

This fixes GS piglit failures after adding SI_PARAM_SHADER_BUFFERS,
which bumped NUM_USER_SGPRS and uncovered this bug on SI.

If this was fixed in LLVM, these workarounds wouldn't be needed.

LLVM would have to look at the calling convention to know how many SGPR
inputs are declared, and add VCC and the scratch wave offset (which is
enabled even if we spill SGPRs but not VGPRs, oh well).

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/gallium/drivers/radeonsi/si_shader.c
src/gallium/drivers/radeonsi/si_state_shaders.c