Mesa (main): microsoft/compiler: return errors from get_n_src
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Aug 26 19:09:49 UTC 2021
Module: Mesa
Branch: main
Commit: e0f3133447b082b844ae06bb2abba209ee4aa1a7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0f3133447b082b844ae06bb2abba209ee4aa1a7
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date: Wed Aug 25 14:22:04 2021 +0200
microsoft/compiler: return errors from get_n_src
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12541>
---
src/microsoft/compiler/nir_to_dxil.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/microsoft/compiler/nir_to_dxil.c b/src/microsoft/compiler/nir_to_dxil.c
index ab9b99314ee..7ca9e29a1a0 100644
--- a/src/microsoft/compiler/nir_to_dxil.c
+++ b/src/microsoft/compiler/nir_to_dxil.c
@@ -3815,7 +3815,8 @@ get_n_src(struct ntd_context *ctx, const struct dxil_value **values,
for (i = 0; i < num_components; ++i) {
values[i] = get_src(ctx, &src->src, i, type);
- assert(values[i] != NULL);
+ if (!values[i])
+ return 0;
}
return num_components;
@@ -4000,11 +4001,15 @@ emit_tex(struct ntd_context *ctx, nir_tex_instr *instr)
case nir_tex_src_coord:
coord_components = get_n_src(ctx, params.coord, ARRAY_SIZE(params.coord),
&instr->src[i], type);
+ if (!coord_components)
+ return false;
break;
case nir_tex_src_offset:
offset_components = get_n_src(ctx, params.offset, ARRAY_SIZE(params.offset),
&instr->src[i], nir_type_int);
+ if (!offset_components)
+ return false;
break;
case nir_tex_src_bias:
@@ -4039,13 +4044,15 @@ emit_tex(struct ntd_context *ctx, nir_tex_instr *instr)
case nir_tex_src_ddx:
dx_components = get_n_src(ctx, params.dx, ARRAY_SIZE(params.dx),
&instr->src[i], nir_type_float);
- assert(dx_components != 0);
+ if (!dx_components)
+ return false;
break;
case nir_tex_src_ddy:
dy_components = get_n_src(ctx, params.dy, ARRAY_SIZE(params.dy),
&instr->src[i], nir_type_float);
- assert(dy_components != 0);
+ if (!dy_components)
+ return false;
break;
case nir_tex_src_ms_index:
More information about the mesa-commit
mailing list