Mesa (master): intel/eu/validate: Don't validate regions of sends

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jan 31 17:47:09 UTC 2020


Module: Mesa
Branch: master
Commit: fa3ef6a8370bf1ce121806e60ccdedb2ddc6aa83
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa3ef6a8370bf1ce121806e60ccdedb2ddc6aa83

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Wed Jan 29 16:23:25 2020 -0600

intel/eu/validate: Don't validate regions of sends

Otherwise, the validator tries to read the type of src1 of a SEND/SENDS
which doesn't actually have a type field.  This prevents validation
issues in the next commit.

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3642>

---

 src/intel/compiler/brw_eu_validate.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/intel/compiler/brw_eu_validate.c b/src/intel/compiler/brw_eu_validate.c
index 3b802d3b355..a46ad386e78 100644
--- a/src/intel/compiler/brw_eu_validate.c
+++ b/src/intel/compiler/brw_eu_validate.c
@@ -695,6 +695,9 @@ general_restrictions_based_on_operand_types(const struct gen_device_info *devinf
    unsigned exec_size = 1 << brw_inst_exec_size(devinfo, inst);
    struct string error_msg = { .str = NULL, .len = 0 };
 
+   if (inst_is_send(devinfo, inst))
+      return error_msg;
+
    if (devinfo->gen >= 11) {
       if (num_sources == 3) {
          ERROR_IF(brw_reg_type_to_size(brw_inst_3src_a1_src1_type(devinfo, inst)) == 1 ||
@@ -712,9 +715,6 @@ general_restrictions_based_on_operand_types(const struct gen_device_info *devinf
    if (num_sources == 3)
       return error_msg;
 
-   if (inst_is_send(devinfo, inst))
-      return error_msg;
-
    if (exec_size == 1)
       return error_msg;
 



More information about the mesa-commit mailing list