<div dir="ltr">Agreed, it was just a workaround, so, will refactor it then. </div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 20, 2018 at 6:25 PM, Dave Airlie <span dir="ltr"><<a href="mailto:airlied@gmail.com" target="_blank">airlied@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 21 February 2018 at 10:42,  <<a href="mailto:tutankhamen@chromium.org">tutankhamen@chromium.org</a>> wrote:<br>
> From: Robert Tarasov <<a href="mailto:tutankhamen@chromium.org">tutankhamen@chromium.org</a>><br>
<br>
While I think this is correct, I don't think it is sufficient,<br>
<br>
Is returning meant to act like goto the end of the shader?<br>
<br>
Then we should handle all things TGSI_OPCODE_END handles<br>
for whatever shaders use return.<br>
<br>
I suggest some refactoring of the code into a shared function might help.<br>
<span class="HOEnZb"><font color="#888888"><br>
Dave.<br>
</font></span><span class="im HOEnZb"><br>
><br>
> diff --git src/vrend_shader.c src/vrend_shader.c<br>
> index 88784bf..750a157 100644<br>
> --- src/vrend_shader.c<br>
> +++ src/vrend_shader.c<br>
> @@ -2009,6 +2009,12 @@ iter_instruction(struct tgsi_iterate_context *iter,<br>
>  Â  Â  Â  Â  Â return FALSE;<br>
>  Â  Â  Â  break;<br>
>  Â  Â case TGSI_OPCODE_RET:<br>
> +  Â  Â  if (iter->processor.Processor == TGSI_PROCESSOR_VERTEX) {<br>
> +  Â  Â  Â  Â if (!ctx->key->gs_present) {<br>
> +  Â  Â  Â  Â  Â  ret = emit_prescale(ctx);<br>
> +  Â  Â  Â  }<br>
> +  Â  Â  }<br>
> +<br>
>  Â  Â  Â  EMIT_BUF_WITH_RET(ctx, "return;\n");<br>
>  Â  Â  Â  break;<br>
>  Â  Â case TGSI_OPCODE_ARL:<br>
</span><div class="HOEnZb"><div class="h5">> ______________________________<wbr>_________________<br>
> virglrenderer-devel mailing list<br>
> <a href="mailto:virglrenderer-devel@lists.freedesktop.org">virglrenderer-devel@lists.<wbr>freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/<wbr>virglrenderer-devel</a><br>
</div></div></blockquote></div><br></div>