[Mesa-dev] [RFC PATCH 0/6] r600: speed up tesselation shaders

Dave Airlie airlied at gmail.com
Fri Dec 29 07:18:43 UTC 2017


On 29 December 2017 at 16:38, Dave Airlie <airlied at gmail.com> wrote:
> On 11 December 2017 at 22:49, Gert Wollny <gw.fossdev at gmail.com> wrote:
>> Am Freitag, den 08.12.2017, 16:30 +1000 schrieb Dave Airlie:
>>> [snip]
>>>
>>> So I haven't commited these yet, because I wanted to see if I could
>>> get sb to work.
>> Well, it was very much work in progress, I didn't expect it to be
>> committed as is anyway.
>>
>>>
>>> https://cgit.freedesktop.org/~airlied/mesa/log/?h=r600-sb-lds-wip
>>>
>>> is my non functional attempt, so far, biut it gpu hangs on the nop
>>> shader.
>>
>> I've played aound it a bit and added some hacks to make it not hang,
>> i.e. sb scheduls calls into any slot, but LDS read/write should go only
>> into SLOT_X, and not splitting up the fetch seemed to be important
>> (patch attached).
>>
>>
>> However, gcm moves around the LSD_OQ* loads changing the order without
>> changing the order of the according LDS_READ_RET calls. At least for
>> this the nop shader still fails.
>>
>> I tried to persuade the optimizer to not reorder these move
>> instructions by adding a "use" to the dst-value of a node that reads
>> from a LDS_OQ to the next node that reads from the same queue, but to
>> no avail. I guess I didn't figure out how to count these extra uses
>> properly when the instructuions are scheduled.
>
> I thought I'd done this already, I must dig a bit more.
>
> I've pushed mosre stuff to the branch, nop still doesn't work.
>
> I've included your patche in one of the squashes, I think we should be
> pretty close.

I think the top patch un my tree fixes the LDS reordering, nop still
doesn't work
though which is annoying. maybe you can spot the problem I've been
staring too long.

Dave.


More information about the mesa-dev mailing list