[Bug 105438] Indexing by ivec causes crash
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Mar 29 12:51:37 UTC 2018
https://bugs.freedesktop.org/show_bug.cgi?id=105438
--- Comment #1 from Andriy Khulap <andriy.khulap at globallogic.com> ---
I can reproduce this issue on Skylake with most mesa versions: 11.0.0-rc1 ..
17.3.6 .. latest git master in firefox, chrome and chromium browsers.
The crash is caused by the unreachable("not reached"); trap in the end of void
nir_visitor::visit(ir_expression *ir) (src/compiler/glsl/glsl_to_nir.cpp, line
1963).
Issue can be fixed by adding empty case for ir_binop_vector_extract:
diff --git a/src/compiler/glsl/glsl_to_nir.cpp
b/src/compiler/glsl/glsl_to_nir.cpp
index c4a6d52a5b..24acfa1f8d 100644
--- a/src/compiler/glsl/glsl_to_nir.cpp
+++ b/src/compiler/glsl/glsl_to_nir.cpp
@@ -1952,6 +1952,9 @@ nir_visitor::visit(ir_expression *ir)
case ir_quadop_vector:
result = nir_vec(&b, srcs, ir->type->vector_elements);
break;
+ case ir_binop_vector_extract:
+ /* Prevent the unreachable trap */
+ break;
default:
unreachable("not reached");
or by adding its handler to special cases:
diff --git a/src/compiler/glsl/glsl_to_nir.cpp
b/src/compiler/glsl/glsl_to_nir.cpp
index c4a6d52a5b..d9efdd7170 100644
--- a/src/compiler/glsl/glsl_to_nir.cpp
+++ b/src/compiler/glsl/glsl_to_nir.cpp
@@ -1493,6 +1493,12 @@ nir_visitor::visit(ir_expression *ir)
return;
}
+ case ir_binop_vector_extract:
+ assert(ir->num_operands == 2);
+ ir->operands[0]->accept(this);
+ ir->operands[1]->accept(this);
+ return;
+
default:
break;
}
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20180329/6426047f/attachment.html>
More information about the intel-3d-bugs
mailing list