<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Add FP64 support to the i965 shader backends"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=92760#c32">Comment # 32</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Add FP64 support to the i965 shader backends"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=92760">bug 92760</a>
              from <span class="vcard"><a class="email" href="mailto:siglesias@igalia.com" title="Samuel Iglesias <siglesias@igalia.com>"> <span class="fn">Samuel Iglesias</span></a>
</span></b>
        <pre>I found an issue related to the opt_algebraic passes after we lowered lrp
instruction when it has double-based types as arguments (lrp instruction does
not support doubles in BDW).

Currently, the lowering of double ops run as part the optimization loop in
nir_optimize(). In that lowering function, I converted the lrp to its
equivalent mathematical function when we have doubles as arguments... which is
reverted by opt_algebraic() in next iteration of the optimization loop :-)

My idea is: remove my lrp's lowering pass, add a new flag in
nir_shader_compiler_options called 'lower_lrp_doubles' and modify
nir_opt_algebraic.py to run its lrp's lowering when the arguments are doubles,
if that flag is enabled. Any driver that does not support lrp with double
arguments, just enable that nir option in its configuration.

I would like to know your opinion about this solution before implementing it.
Do you have other solutions in mind?

Thanks!</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>