<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 3, 2015 at 1:08 PM, Erik Faye-Lund <span dir="ltr"><<a href="mailto:kusmabite@gmail.com" target="_blank">kusmabite@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Feb 3, 2015 at 9:43 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
</span><div><div class="h5">> ---<br>
>  src/glsl/nir/nir_validate.c | 8 ++++++++<br>
>  1 file changed, 8 insertions(+)<br>
><br>
> diff --git a/src/glsl/nir/nir_validate.c b/src/glsl/nir/nir_validate.c<br>
> index 7c801b2..89dfdf8 100644<br>
> --- a/src/glsl/nir/nir_validate.c<br>
> +++ b/src/glsl/nir/nir_validate.c<br>
> @@ -239,6 +239,14 @@ validate_alu_dest(nir_alu_dest *dest, validate_state *state)<br>
>      * register/SSA value<br>
>      */<br>
>     assert(is_packed || !(dest->write_mask & ~((1 << dest_size) - 1)));<br>
> +<br>
> +   /* validate that saturate is only ever used on instructions with<br>
> +    * destinations of type float<br>
> +    */<br>
> +   nir_alu_instr *alu = nir_instr_as_alu(state->instr);<br>
> +   assert(nir_op_infos[alu->op].output_type == nir_type_float ||<br>
> +          !dest->saturate);<br>
<br>
</div></div>I think this can end up generating a warning on builds with asserts<br>
disabled due to "alu" being written but never read. Perhaps just do<br>
"nir_instr_as_alu(state->instr)->op" directly in the expression? It's<br>
a tad less readable, though :/<br>
</blockquote></div><br></div><div class="gmail_extra">It doesn't even get compiled if we have no asserts.  There's a giant #ifdef DEBUG surrounding the entire file.<br></div><div class="gmail_extra">--Jason<br></div><div class="gmail_extra"><br></div></div>