<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Implement SSBOs in GLSL front-end and i965"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=89597#c24">Comment # 24</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Implement SSBOs in GLSL front-end and i965"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=89597">bug 89597</a>
              from <span class="vcard"><a class="email" href="mailto:itoral@igalia.com" title="Iago Toral <itoral@igalia.com>"> <span class="fn">Iago Toral</span></a>
</span></b>
        <pre>(In reply to Jason Ekstrand from <a href="show_bug.cgi?id=89597#c23">comment #23</a>)
<span class="quote">> (In reply to Iago Toral from <a href="show_bug.cgi?id=89597#c22">comment #22</a>)
> > (...)
> > > > > (In reply to Iago Toral from <a href="show_bug.cgi?id=89597#c18">comment #18</a>)
> > > > > Are you setting the block size in the message descriptor?
> > > > > 
> > > > > Bits 9:8 should be
> > > > > 
> > > > >   10: 8 DWords
> > > > >   11: 16 DWords
> > > > 
> > > > Yes, I think this is most likely the problem. We actually have a nice
> > > > #define for this.  You can see it in use in my wip/fs-indirects-v0.5 branch
> > > > in this commit:
> > > > 
> > > > <a href="http://cgit.freedesktop.org/~jekstrand/mesa/commit/?h=wip/fs-indirects-v0">http://cgit.freedesktop.org/~jekstrand/mesa/commit/?h=wip/fs-indirects-v0</a>.
> > > > 5&id=df4293526f873102b45dd89dc20b084bc8662181
> > > > 
> > > > In fact, feel free to just cherry-pick that if you think it's what you want.
> > > > It also handles setting the right opcode for the different gens.
> > > 
> > > Nope, that shouldn't be it, this is what I have:
> > > 
> > > int mlen, msg_type;
> > > if (dispatch_width == 8) {

> This should be inst->exec_size.  That way it will work of someone does an
> exec_size 8 in SIMD16 mode.</span >

I see, I'll change this.

<span class="quote">> > >    msg_type = BRW_DATAPORT_DWORD_SCATTERED_BLOCK_8DWORDS;
> > >    mlen = 3;

> mlen should be set on the instruction in the visitor not at the generator
> level.</span >

Yeah, I have changed that already.

<span class="quote">> > > } else {
> > >    msg_type = BRW_DATAPORT_DWORD_SCATTERED_BLOCK_16DWORDS;
> > >    mlen = 5;
> > > }
> > > 
> > > I use dispatch_width rather than the inst->exec_size to check if we are in
> > > SIMD16 or SIMD8 mode, but both should be valid I guess. Anyway, if my
> > > understanding of how things operate in SIMD16 mode is correct then there
> > > must be something silly getting in the way, I'll try to track it down.
> > 
> > I fixed the problem, in case you are curious: I had to update the
> > implementation of fs_inst::regs_read in brw_fs.cpp. As soon as I added that
> > things started to work fine.

> Also make sure you update has_side_effects as well</span >

Yep, I did this already.

Thanks for the tips Jason.</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>