[Mesa-dev] [PATCH 1/4] r600g: avoid redundant DB registerupdates

Constantine Kharlamov Hi-Angel at yandex.ru
Wed May 3 09:47:19 UTC 2017


On 03.05.2017 12:31, Marc Dietrich wrote:
> Hi Constantine,
> 
> Am Mittwoch, 3. Mai 2017, 05:48:14 CEST schrieb Constantine Kharlamov:
>> On 03.05.2017 00:50, Constantine Kharlamov wrote:
>>> On 28.04.2017 10:57, Marc Dietrich wrote:
>>>> Hi Constantine,
>>>>
>>>> Am Donnerstag, 27. April 2017, 21:04:37 CEST schrieb Constantine 
> Kharlamov:
>>>>> Please, could you try this patch. The change is: I'm setting dirty_zsbuf
>>>>> in
>>>>> r600_bind_blend_state_internal() as well. It was the difference between
>>>>> radeonsi and r600 for CB updates, and my guess is, it might be relevant
>>>>> to
>>>>> DB ones as well.
>>>>
>>>> ok, crash is gone and I get 2-3 fps more :-)
>>>>
>>>> But some rendering glitches and:
>>>>
>>>> radeon 0000:01:05.0: r600_cs_track_validate_db:696 htile surface too
>>>> small
>>>> 20480 for 262144 (256 256)
>>>> radeon 0000:01:05.0: r600_packet3_check:1724 invalid cmd stream
>>>> [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
>>>> radeon 0000:01:05.0: r600_cs_track_validate_db:696 htile surface too
>>>> small
>>>
>>> Thank you. Please, can you try this one. The change is solely debugging: I
>>> set dirty_zsbuf in r600_clear() unconditionally, and print some info to
>>> stderr.
>>>
>>> Just run UH with this patch, and check if the errors you've seen
>>> disappeared. If they still there — never mind, just tell that. Otherwise
>>> redirect stderr to a file, wait for about as long as UH usually ran
>>> before a couple of errors appeared, and send the log.> 
>>> E.g. this is how I run UH with stderr redirected to /tmp/log:
>>> 	LD_LIBRARY_PATH=/home/constantine/Projects/mesa-64/lib
>>> 	LIBGL_DRIVERS_PATH=/home/constantine/Projects/mesa-64/lib/gallium
>>> 	./heaven 2> /tmp/log> 
>>> (note, to use LIBGL_DRIVERS_PATH you'd need to do "ln -s /etc/drirc
>>> ~/.drirc" because UH has broken shaders, and with LIBGL_DRIVERS_PATH the
>>> /etc/drirc for some reason not being read).
>>>
>>> P.S.: sorry for the delays, I've got busy last time. I wanted to reply on
>>> Sunday evening, but got distracted too.
>> Omg, no idea how did the check I added in the prev. patch disappeared.
> 
> same glitches and invalid cs. You debug lines produced no output. Maybe you 
> put them into the wrong code path?

Okay, thanks. The missing output is unsurprising actually because the debug line didn't execute for me with UH4 too. But I was expecting it does for some reason on your hw.

> When I set R600_HYPERZ=0, I still see glitches, but no CS stream rejected. 
> Also I now get debug output (just: rtex->htile_buffer = (nil), level = 0, 
> first_layer = 0, last_layer = 0, util_max_layer = 0).
> 
> Maybe we should continue this discussion on IRC? I'll ping you there.

Sorry, I'm busy with other irrelevant things, peeking at Mesa when I have time. So, though a good idea in general, but may not work in the particular case.

> Marc
>


More information about the mesa-dev mailing list