Mesa (master): nir: fix generated nir_intrinsics.c for MSVC

Rob Clark robclark at kemper.freedesktop.org
Tue Mar 27 19:01:25 UTC 2018


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

Author: Rob Clark <robdclark at gmail.com>
Date:   Tue Mar 27 14:52:55 2018 -0400

nir: fix generated nir_intrinsics.c for MSVC

Apparently it is not happy about things like: .foo = {}

So skip over initializers for empty lists.

Fixes: 76dfed8ae2d5c6c509eb2661389be3c6a25077df
Reported-by: Roland Scheidegger <sroland at vmware.com>
Signed-off-by: Rob Clark <robdclark at gmail.com>

---

 src/compiler/nir/nir_intrinsics_c.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/compiler/nir/nir_intrinsics_c.py b/src/compiler/nir/nir_intrinsics_c.py
index 556db785c2..339214ac53 100644
--- a/src/compiler/nir/nir_intrinsics_c.py
+++ b/src/compiler/nir/nir_intrinsics_c.py
@@ -29,18 +29,22 @@ const nir_intrinsic_info nir_intrinsic_infos[nir_num_intrinsics] = {
 {
    .name = "${name}",
    .num_srcs = ${opcode.num_srcs},
+% if opcode.src_components:
    .src_components = {
       ${", ".join(str(comp) for comp in opcode.src_components)}
    },
+% endif
    .has_dest = ${"true" if opcode.has_dest else "false"},
    .dest_components = ${opcode.dest_components},
    .num_variables = ${opcode.num_variables},
    .num_indices = ${opcode.num_indices},
+% if opcode.indices:
    .index_map = {
 % for i in range(len(opcode.indices)):
       [${opcode.indices[i]}] = ${i + 1},
 % endfor
     },
+% endif
    .flags = ${"0" if len(opcode.flags) == 0 else " | ".join(opcode.flags)},
 },
 % endfor




More information about the mesa-commit mailing list