mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 02:58:05 +02:00
i965: Make sure the VS URB size is big enough to fit a VF VUE.
This fix is just from code and docs inspection, but it may fix hangs on
some applications.
(cherry picked from commit e93848e595)
This commit is contained in:
parent
9eca0e5350
commit
456a16491b
1 changed files with 8 additions and 1 deletions
|
|
@ -68,6 +68,7 @@ static void release_tmps( struct brw_vs_compile *c )
|
|||
static void brw_vs_alloc_regs( struct brw_vs_compile *c )
|
||||
{
|
||||
GLuint i, reg = 0, mrf;
|
||||
int attributes_in_vue;
|
||||
|
||||
#if 0
|
||||
if (c->vp->program.Base.Parameters->NumParameters >= 6)
|
||||
|
|
@ -201,7 +202,13 @@ static void brw_vs_alloc_regs( struct brw_vs_compile *c )
|
|||
*/
|
||||
c->prog_data.urb_read_length = (c->nr_inputs + 1) / 2;
|
||||
|
||||
c->prog_data.urb_entry_size = (c->nr_outputs + 2 + 3) / 4;
|
||||
/* The VS VUEs are shared by VF (outputting our inputs) and VS, so size
|
||||
* them to fit the biggest thing they need to.
|
||||
*/
|
||||
attributes_in_vue = MAX2(c->nr_outputs, c->nr_inputs);
|
||||
|
||||
c->prog_data.urb_entry_size = (attributes_in_vue + 2 + 3) / 4;
|
||||
|
||||
c->prog_data.total_grf = reg;
|
||||
|
||||
if (INTEL_DEBUG & DEBUG_VS) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue