[Mesa-dev] Testing optimizer

Tom Stellard tom at stellard.net
Tue Dec 17 08:46:31 PST 2013


On Tue, Dec 17, 2013 at 09:57:31AM -0600, Patrick Baggett wrote:
> Hi all,
> 
> Is there a way to see the machine code that is generated by the GLSL
> compiler for all GPU instruction sets? For example, I would like to know if
> the optimizer optimizes certain (equivalent) constructs (or not), and avoid
> them if possible. I know there is a lot to optimization on GPUs that I
> don't know, but I'd still like to get some ballpark estimates. For example,
> I'm curious whether:

Each driver has its own environment variable for dumping machine code.

llvmpipe: GALLIVM_DEBUG=asm (I think you need to build mesa
                             with --enable-debug for this to work)
r300g: RADEON_DEBUG=fp,vp
r600g, radeonsi: R600_DEBUG=ps,vs

I'm not sure what the other drivers use.

-Tom

> 
>     //let p1, p2, p3 be vec2 uniforms
> 
>     vec4(p1, 0, 0) + vec4(p2, 0, 0) + vec4(p3, 0, 1)
> 
> produces identical machine code as:
> 
>     vec4(p1+p2+p3, 0, 1);
> 
> for all architectures supported by Mesa.

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



More information about the mesa-dev mailing list