anv: Allocate more push constant space.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 23 Feb 2016 01:28:22 +0000 (17:28 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 24 Feb 2016 19:22:05 +0000 (11:22 -0800)
commit3ecd357d816dc71b2c6ebd6ace38c76ebb25674e
tree1d920a349f40fbad91fe0ea2bc7aedc264e9c5a0
parent3f115177302d1a969181649fde8c2332563aac73
anv: Allocate more push constant space.

Previously we allocated 4kB of push constant space for VS, GS, and PS
(for a total of 12kB) no matter what.  This works, but doesn't fully
utilize the space - we have 16kB or 32kB of space.

This makes anv use the same method as brw - divide up the space evenly
among all active shader stages.  This means HS and DS would get space,
if those shader stages existed.

In the future, we can probably do better by inspecting how many push
constants each shader stage uses, and weight things accordingly.  But
this is strictly better than the old code, and ideally we'd justify
a fancier solution with actual performance data.
src/intel/vulkan/anv_pipeline.c