[Mesa-dev] [PATCH 6/7] i965: ensure execution of fragment shader when fragment shader has atomic buffer access

Rogovin, Kevin kevin.rogovin at intel.com
Fri Apr 24 13:21:36 PDT 2015



> Checking brw->ctx.Shader._CurrentFragmentProgram != NULL is unnecessary.
> There is always a valid pixel shader.  (If the application is using fixed-function, we supply a fragment shader for them.)  Please drop that check.

Without this check(in the Gen7 function/code), about 30 crashes are induced on piglit tests for Gen7; the tests are all using GL fixed function pipeline. I have not run piglit without this check on Gen8 though.

> I thought that UAVs were essentially for Images...I'm not clear why this is needed.  Perhaps Curro can confirm one way or another.

The essential reason is to guarantee that the pixel shader gets invoked by Gen even when all render target surfaces are NULL surfaces. There are other flags one can use, but the UAV seems (to me) the most natural.
 
-Kevin


More information about the mesa-dev mailing list