Mesa (master): intel/fs: Don't copy-propagate stride=0 sources into ddx/ddy
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Sep 2 20:37:24 UTC 2020
Module: Mesa
Branch: master
Commit: 8e8701b43a0fc1997ecdb6a9557dd3e2c1a0d398
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e8701b43a0fc1997ecdb6a9557dd3e2c1a0d398
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Wed Sep 2 10:13:16 2020 -0500
intel/fs: Don't copy-propagate stride=0 sources into ddx/ddy
This can come up if, for instance, the shader does a derivative of a
uniform or flat input. Ideally, NIR would use divergence analysis to
get rid of the derivative in this case but it doesn't right now. This
fixes a crash in F1 2017.
Cc: mesa-stable at lists.freedesktop.org
Reported-by: Marcin Ślusarz <marcin.slusarz at intel.com>
Tested-by: Marcin Ślusarz <marcin.slusarz at intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6564>
---
src/intel/compiler/brw_fs_copy_propagation.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/intel/compiler/brw_fs_copy_propagation.cpp b/src/intel/compiler/brw_fs_copy_propagation.cpp
index a33043573a5..31e55e64a27 100644
--- a/src/intel/compiler/brw_fs_copy_propagation.cpp
+++ b/src/intel/compiler/brw_fs_copy_propagation.cpp
@@ -524,7 +524,7 @@ fs_visitor::try_copy_propagate(fs_inst *inst, int arg, acp_entry *entry)
*/
const unsigned entry_stride = (entry->src.file == FIXED_GRF ? 1 :
entry->src.stride);
- if (instruction_requires_packed_data(inst) && entry_stride > 1)
+ if (instruction_requires_packed_data(inst) && entry_stride != 1)
return false;
/* Bail if the result of composing both strides would exceed the
More information about the mesa-commit
mailing list