Nvidia 441.41 driver bug?

Finally had a chance to sit down at my pc and try these suggestions.
Removing the discard fixes the artifacts!

(Emphasis changed).

My interpretation of “subsequent” is that it should be possible to preserve the existing behaviour without the issue of undefined derivatives by setting a flag for differing signs then performing the discard at the end of the shader (or at least after the point where the derivatives are computed).

Makes sense. As it stands, a discard statement has two quite distinct effects. One is to abort processing, the other is to “mask” framebuffer updates for that fragment. You can obtain the first effect without the second by just using return instead, but there’s no straightforward way to obtain the second without the first. In the compatibility profile you can enable alpha testing and have the fragment shader output zero alpha. For the core profile: would clearing gl_SampleMask have the desired effect?

Awesome! Thanks for following up with the solution you chose.

Final solution I went with was

	if(!gl_HelperInvocation) {
		discard;		// need to revisit this
	}

Which works perfectly. Basically disabling discarding of the helper fragments. Thanks for all your input. Not a driver bug after all :slight_smile:

ddi you try to reinstall? whenever i have problems related to GPU asimple reinstall solves this

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.