mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 12:50:10 +01:00
i965: new VS: Compute urb entry size based on the VUE map.
Previously, the new VS backend computed the size of the URB entry by counting the number of MRFs used in emitting the URB entry. Now it just gets it straight from the VUE map. Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
ee3195a5ff
commit
f3ecc90730
1 changed files with 2 additions and 7 deletions
|
|
@ -1891,7 +1891,6 @@ vec4_visitor::emit_urb_writes()
|
|||
*/
|
||||
int base_mrf = 1;
|
||||
int mrf = base_mrf;
|
||||
int urb_entry_size;
|
||||
/* In the process of generating our URB write message contents, we
|
||||
* may need to unspill a register or load from an array. Those
|
||||
* reads would use MRFs 14-15.
|
||||
|
|
@ -1937,8 +1936,6 @@ vec4_visitor::emit_urb_writes()
|
|||
inst->mlen = align_interleaved_urb_mlen(brw, mrf - base_mrf);
|
||||
inst->eot = (slot >= c->vue_map.num_slots);
|
||||
|
||||
urb_entry_size = mrf - base_mrf;
|
||||
|
||||
/* Optional second URB write */
|
||||
if (!inst->eot) {
|
||||
mrf = base_mrf + 1;
|
||||
|
|
@ -1959,14 +1956,12 @@ vec4_visitor::emit_urb_writes()
|
|||
* those, since we're doing interleaved writes.
|
||||
*/
|
||||
inst->offset = (max_usable_mrf - base_mrf) / 2;
|
||||
|
||||
urb_entry_size += mrf - base_mrf;
|
||||
}
|
||||
|
||||
if (intel->gen == 6)
|
||||
c->prog_data.urb_entry_size = ALIGN(urb_entry_size, 8) / 8;
|
||||
c->prog_data.urb_entry_size = ALIGN(c->vue_map.num_slots, 8) / 8;
|
||||
else
|
||||
c->prog_data.urb_entry_size = ALIGN(urb_entry_size, 4) / 4;
|
||||
c->prog_data.urb_entry_size = ALIGN(c->vue_map.num_slots, 4) / 4;
|
||||
}
|
||||
|
||||
src_reg
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue