[Mesa-dev] [PATCH] i965/fs: Don't use backend_visitor::exec_list after creating the CFG.

Mark Janes mark.a.janes at intel.com
Mon Jan 12 17:04:11 PST 2015


Hi Matt,

The tests which originated this bug still crash:

glslparsertest:
../../../../../../src/mesa/drivers/dri/i965/brw_fs.cpp:2930: void
fs_visitor::insert_gen4_post_send_dependency_workarounds(bblock_t*,
fs_inst*): Assertion `!needs_dep[i]' failed.

You don't need a g965 to reproduce it, as we now are running it on
haswell with INTEL_DEVID_OVERRIDE=0x29A2

-Mark


Matt Turner <mattst88 at gmail.com> writes:

> This is a fix for a regression introduced in commit a9f8296d ("i965/fs:
> Preserve the CFG in a few more places.").
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84613
> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 9dfb7b7..77781b1 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -2926,14 +2926,8 @@ fs_visitor::insert_gen4_post_send_dependency_workarounds(bblock_t *block, fs_ins
>           return;
>     }
>  
> -   /* If we hit the end of the program, resolve all remaining dependencies out
> -    * of paranoia.
> -    */
> -   fs_inst *last_inst = (fs_inst *)this->instructions.get_tail();
> -   assert(last_inst->eot);
>     for (int i = 0; i < write_len; i++) {
> -      if (needs_dep[i])
> -         last_inst->insert_before(block, DEP_RESOLVE_MOV(first_write_grf + i));
> +      assert(!needs_dep[i]);
>     }
>  }
>  
> -- 
> 2.0.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list