[Mesa-dev] [PATCH 3/3 v2] r600g: get rid of dummy pixel shader

Constantine Kharlamov Hi-Angel at yandex.ru
Wed Apr 12 19:34:37 UTC 2017



On 12.04.2017 22:21, Dave Airlie wrote:
> On 13 April 2017 at 03:39, Constantine Kharlamov <Hi-Angel at yandex.ru> wrote:
>> On 12.04.2017 18:53, Marek Olšák wrote:
>>> On Wed, Apr 12, 2017 at 4:44 PM, Markus Trippelsdorf
>>> <markus at trippelsdorf.de> wrote:
>>>> On 2017.04.10 at 22:48 +0200, Marek Olšák wrote:
>>>>> Pushed the series, thanks!
>>>>>
>>>>> Marek
>>>>>
>>>>> On Mon, Apr 10, 2017 at 10:04 PM, Constantine Kharlamov
>>>>> <Hi-Angel at yandex.ru> wrote:
>>>>>> The idea is taken from radeonsi. The code mostly was already checking for null
>>>>>> pixel shader, so little checks had to be added.
>>>>>>
>>>>>> Interestingly, acc. to testing with GTAⅣ, though binding of null shader happens
>>>>>> a lot at the start (then just stops), but draw_vbo() never actually sees null
>>>>>> ps.
>>>>>>
>>>>>> v2: added a check I missed because of a macros using a prefix to choose
>>>>>> a shader.
>>>>
>>>> This commit causes ring 0 stalls on r600:
>>>> https://bugs.freedesktop.org/show_bug.cgi?id=100663
>>>
>>> Thanks, I reverted the commit.
>>>
>>> Marek
>>
>> Marek: do you have an idea why does it work for radeonsi though? I have almost no
>> experience to graphics, so the only assumption comes to my mind: some r600g-managed
>> card-specific behavior.
> 
> Blindly porting stuff from radeonsi without understanding the
> differences in the hardware and
> drivers isn't going to be a great strategy, as you aren't really
> learning more than the moving
> code around.

I disagree on this. A month ago I didn't even know a meaning of a shader aside that it's
a graphics buzzword. But now I more or less understand shaders pipeline, what each type
of shader does, and a bunch of other small details.

The thing is: I keep telling that I'm a newbie to graphics, so simple mistakes are to be
expected, at least for some time.

And for that matter, that's the reason I just asked the question.

> I suspect this breaks because r600 more often fails to
> compile some shaders,
> and the hw requires a fragment shader and we use the empty one as a
> fallback in that case.

Ok, that wasn't obvious, I running the system with the patchset on HD5730, including
piglit testing — so far is fine.

> Dave.
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list