OSDN Git Service

i965/fs: Skip remove_duplicate_mrf_writes() during SIMD32 runs.
authorFrancisco Jerez <currojerez@riseup.net>
Tue, 26 Apr 2016 00:09:39 +0000 (17:09 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Sat, 28 May 2016 06:29:05 +0000 (23:29 -0700)
The pass is disabled in SIMD16 dispatch mode for the same reason, it
cannot handle instructions that write multiple MRF registers at once.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_fs.cpp

index abbf4d8..34ebdc4 100644 (file)
@@ -3058,7 +3058,7 @@ fs_visitor::remove_duplicate_mrf_writes()
    bool progress = false;
 
    /* Need to update the MRF tracking for compressed instructions. */
-   if (dispatch_width == 16)
+   if (dispatch_width >= 16)
       return false;
 
    memset(last_mrf_move, 0, sizeof(last_mrf_move));