<div dir="ltr"><div dir="ltr">Woops! yeah. sorry about the confusion:<div><blockquote type="cite" style="color:rgb(80,0,80)"><div dir="ltr">Just to be clear, the control flow structuring problem is *NOT* something I have addressed, so work on an algorithm that would solve this problem would not be duplicated effort.</div><div dir="ltr"><br></div></blockquote><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><span>Greg</span></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Oct 18, 2019 at 9:05 AM Hans-Kristian Arntzen <<a href="mailto:post@arntzen-software.no">post@arntzen-software.no</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p><br>
    </p>
    <div>On 10/18/19 5:02 PM, Greg Roth wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Just to be clear, the control flow structuring
        problem is something I have addressed, so work on an algorithm
        that would solve this problem would not be duplicated effort.</div>
    </blockquote>
    <p>I assume a typo here, there's a contradiction.</p>
    <p>Cheers,<br>
      Hans-Kristian<br>
    </p>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Greg<br>
          <div>
            <div dir="ltr">
              <div dir="ltr">
                <div>
                  <div dir="ltr">
                    <div><span><br>
                      </span></div>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Fri, Oct 18, 2019 at 8:46
          AM Henri Verbeet <<a href="mailto:hverbeet@gmail.com" target="_blank">hverbeet@gmail.com</a>> wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On
          Fri, 18 Oct 2019 at 18:08, Hans-Kristian Arntzen<br>
          <<a href="mailto:post@arntzen-software.no" target="_blank">post@arntzen-software.no</a>>
          wrote:<br>
          > On 10/18/19 4:32 PM, Henri Verbeet wrote:<br>
          > > On Fri, 18 Oct 2019 at 17:51, Hans-Kristian Arntzen<br>
          > > <<a href="mailto:post@arntzen-software.no" target="_blank">post@arntzen-software.no</a>>
          wrote:<br>
          > >> Most of the (little) time I've spent so far as
          been coming up with an algorithm to convert DXIL's
          unstructured control flow to something which conforms to
          SPIR-V's structured model.<br>
          > >><br>
          > > I may be missing something, but the existing
          vkd3d-shader code already<br>
          > > needs to take care of that<br>
          > > (vkd3d_dxbc_compiler_emit_control_flow_instruction()
          in particular),<br>
          > > since both TPF and the (very thin) vkd3d-shader IR
          are unstructured as<br>
          > > well.<br>
          ><br>
          >  From what I can tell, the DXBC is structured already,
          and if/endif and<br>
          > friends are already emitted directly, so there isn't any
          complex<br>
          > analysis required to convert it to SPIR-V. DXIL is
          unstructured, i.e.,<br>
          > it's a goto soup, but it has to be a reducible CFG at
          least. I didn't<br>
          > see any implementation for that.<br>
          ><br>
          Right, I wouldn't exactly call TPF structured, but it's not
          quite<br>
          unstructured either, and doesn't have goto/jump. I wasn't
          aware that<br>
          DXIL did.<br>
          <br>
          Henri<br>
        </blockquote>
      </div>
    </blockquote>
  </div>

</blockquote></div></div>