stephan mantler More »

Home | Contact | Photography | Explot

DirectX 11: conservative oDepth

The following part of a Gamasutra article was brought to my attention: Traditionally, IHVs have had to disable Z acceleration structures and algorithms when shaders write to the depth buffer via the oDepth register. The conservative oDepth feature in DirectX 11 enables shaders to write to the depth buffer within a specified region guarantee. This enables [...]

More on the shader

I’ve just taken a look at the FX Shader Compiler’s output for the broken shader, and what changes when I comment a few lines so that it doesn’t crash my machine any more… and figured out what the problem is. Here’s a fairly minimal shader that crashes my machine: PixelShader = asm { ps_3_0 defi i0, 100,0,0,0 def c0, 0.01, [...]

…33 System Crashes Later…

Since the shader I crashed my system with does so extremely reliably, I decided to submit it as a bug report to NVIDIA. Which is a bit problematic, because this usually requires a ‘repro case’, ie. a piece of code which can reproduce the problem as repeatably as possible. Repeatability is easy - my shader [...]

Visual Debugging

For my shader I need to calculate tangent space view directions - since in my case the tangent frame is constant over the entire surface, it is straightforward to do this in the vertex shader and let the hardware interpolate (linearly) over the surface. Of course this isn’t numerically exact, but I was wondering how [...]

Unintended Beauty

Sometimes bugs or debug tests produce nice pictures, as in this case, which turned some random test data into a cool, semi-crystallized picture. I guess I’ll have to save those shaders just in case. For the reference, this one is supposed to do tangent space displacement mapping through ray tracing, but instead of writing out [...]
← Before