[Mesa-dev] [PATCH] r600g: set address of pop instructions to next instruction

Fabian Bieler der.fabe at gmx.net
Fri Dec 3 04:03:36 PST 2010


Hello!

In R700-family_instruction_set_architecture.pdf
pages 3-18 and 9-34 read that pop instructions never jump.
The table on page 3-16 however reads that it does jump if the condition test 
fails for all pixels.

On RV710 the attached piglit test indicates that the pop instruction does 
indeed jump sometimes.

In the attached image pop instructions are executed in the lower right half 
including the diagonal. If the pop instruction jumps the pixel should be 
black. I can think of no grouping of four pixels at a time to make sense of 
that pattern. So it would seem pop doesn't always jump even if all pixels 
fail the condition test.

Anyway the patch sets the address of pop instructions to the next instruction 
which fixes the test.

Fabian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-r600g-set-address-of-pop-instructions-to-next-instru.patch
Type: text/x-diff
Size: 814 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20101203/40487841/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: glsl-fs-loop-diagonal-break.shader_test
Type: text/x-objcsrc
Size: 378 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20101203/40487841/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fb.png
Type: image/png
Size: 251 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20101203/40487841/attachment.png>


More information about the mesa-dev mailing list