[Mesa-dev] GLSL Debugging

Ilia Mirkin imirkin at alum.mit.edu
Thu Jul 14 16:57:14 UTC 2016


My point is ... any stepping you can do with softpipe/llvmpipe, you
can also do with an NVIDIA G80+ GPU. The trick is in coming up with an
interface to expose the debugging capability in a useful manner.

An application might do any number of draws, each of which might
generate any number of primitives (potentially varying numbers for an
originally fixed geometry with tess/geom shaders), which in turn will
rasterize to any number of pixels. Specifying which invocation of
which stage you want to debug is ... tricky. And unclear how to even
expose.

  -ilia

On Thu, Jul 14, 2016 at 12:49 PM, Rob Conde <rob.conde at ai-solutions.com> wrote:
> If you have an Nvidia card and are using a sufficiently new version of
> opengl you can debug shaders in Visual Studio, but those are some
> significant limitations. It would also be nice to have a reference driver to
> help distinguish buggy driver behavior.
> ________________________________
> From: ibmirkin at gmail.com <ibmirkin at gmail.com> on behalf of Ilia Mirkin
> <imirkin at alum.mit.edu>
> Sent: Thursday, July 14, 2016 12:34:26 PM
> To: Rob Conde
> Cc: Roland Scheidegger; mesa-dev at lists.freedesktop.org
>
> Subject: Re: [Mesa-dev] GLSL Debugging
>
> Note that various GPUs (definitely NVIDIA ones, but I think others
> too) also include instruction stepping/breakpoints/etc functionality.
> However it's never been clear to me how that sort of thing could be
> effectively exposed to userspace.
>
>   -ilia
>
>
> On Thu, Jul 14, 2016 at 12:29 PM, Rob Conde <rob.conde at ai-solutions.com>
> wrote:
>> I'll take a look at that. The idea would be to be able to step through a
>> shader and watch values etc.
>>
>>
>> Rob
>>
>> ________________________________
>> From: Roland Scheidegger <sroland at vmware.com>
>> Sent: Thursday, July 14, 2016 12:26:58 PM
>> To: Rob Conde; mesa-dev at lists.freedesktop.org
>> Subject: Re: [Mesa-dev] GLSL Debugging
>>
>> Am 14.07.2016 um 15:25 schrieb Rob Conde:
>>> Hello,
>>>
>>>    It occurred to me that the llvmpipe might be a good basis for a GLSL
>>> debugger. Has anyone thought about this and how it might be approached?
>>>
>>>
>>> Rob Conde
>>
>> I'm not entirely sure what exactly you want to debug, but if you just
>> want to know what happens inside a shader softpipe is MUCH easier to
>> follow with the interpreted shaders. Maybe llvmpipe is easier (at least
>> for some things) than real hardware but investigating the jitted
>> assembly is not that easy.
>>
>> Roland
>>
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
> _______________________________________________
> 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