Intel working on Larrabee 2.

Without some kind of support for fast swizzle instruction for address generation, it wouldn't make any sense to do a CUDA like write into anything but a linear texture. However it looks as if DX11 has ability to access "any" resource directly (including swizzled textures?). So perhaps this RWTexture2D business is the DX11 equivalent of the .surf in PTX.
Yeah, that is the point I was trying to get across.

As for swizzling, I presume that's purely an ALU pipeline problem: swizzling + masking, D3D10 introduced all the "integer" and bit-wise instructions needed to do this, I think. The cache-hierarchy + memory I/O + compression hardware just see blobs of 32- or 128-bits (not sure...)

I can see a huge reason to want to write Z in the fragment shader. And in fact DX11 includes oDepth which is designed for this very purpose. Ability to write depth such that depth is father out than the plane equation depth for the triangle and still have fast Z culling in raster stage.
I meant reading the existing Z then changing it, as opposed to merely overwriting by setting oDepth. Likening this RMW to blending colour in a render target, except with Z or stencil.

I have to admit I don't understand how fast-Z and writing oDepth are going to work together. I'd forgotten D3D11 supports that.

Jawed
 
I have to admit I don't understand how fast-Z and writing oDepth are going to work together. I'd forgotten D3D11 supports that.
If you can guarantee that any depth value you write via oDepth is farther away from the camera than the 'canonical' z value than the hardware can still perform conservative early z-test.
 
oDepth has been available since DX8 IIRC!

Silly me, forgot the word "conservative" in front of oDepth...

While I'm at it, the word swizzle is too abused and means many different things. What I was referring to prior was something which does address=TextureAddressOf(int x, int y) for "tiled" or "swizzled" textures... and this would definitely be something you want in hardware.
 
Last edited by a moderator:
Back
Top