From: "Juan A. Suarez Romero" <jasua...@igalia.com> In scalar mode, URB read length limit is 15. Abort if we go beyond it. --- src/mesa/drivers/dri/i965/brw_vec4.cpp | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp index 9816f0d..04287fb 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp @@ -2148,6 +2148,14 @@ brw_compile_vs(const struct brw_compiler *compiler, void *log_data, prog_data->base.urb_read_length = DIV_ROUND_UP(MAX2(nr_attribute_slots, 1), 2); + if (is_scalar && prog_data->base.urb_read_length > 15) { + if (error_str) + *error_str = ralloc_strdup(mem_ctx, + "Too many attributes. Try to reduce the " + "number of attributes or their size"); + return NULL; + } + prog_data->nr_attributes = nr_attributes; prog_data->nr_attribute_slots = nr_attribute_slots; -- 2.5.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev