mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 04:00:10 +01:00
i965/gen4: Fix GPU hangs since the program streaming change.
This was tricky. We were doing a use-before-initialize of grf_reg_count, but the value usually got overwritten anyway -- when we didn't have to do a relocation (typical), or on gen5 when we didn't have relocations at all. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38771 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
57b57f6d1c
commit
d03fdc4cde
1 changed files with 1 additions and 1 deletions
|
|
@ -47,6 +47,7 @@ brw_prepare_vs_unit(struct brw_context *brw)
|
|||
memset(vs, 0, sizeof(*vs));
|
||||
|
||||
/* BRW_NEW_PROGRAM_CACHE | CACHE_NEW_VS_PROG */
|
||||
vs->thread0.grf_reg_count = ALIGN(brw->vs.prog_data->total_grf, 16) / 16 - 1;
|
||||
vs->thread0.kernel_start_pointer =
|
||||
brw_program_reloc(brw,
|
||||
brw->vs.state_offset +
|
||||
|
|
@ -54,7 +55,6 @@ brw_prepare_vs_unit(struct brw_context *brw)
|
|||
brw->vs.prog_offset +
|
||||
(vs->thread0.grf_reg_count << 1)) >> 6;
|
||||
|
||||
vs->thread0.grf_reg_count = ALIGN(brw->vs.prog_data->total_grf, 16) / 16 - 1;
|
||||
vs->thread1.floating_point_mode = BRW_FLOATING_POINT_NON_IEEE_754;
|
||||
/* Choosing multiple program flow means that we may get 2-vertex threads,
|
||||
* which will have the channel mask for dwords 4-7 enabled in the thread,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue