A: 

I have no direct experience with DX compute shaders but...

Why are you setting alpha = 1.0?

IIRC, that makes the pixel 100% transparent, so your inside pixels are transparent red, and show up as whatever color was drawn behind them. When alpha = 1.0, the RGB components are never used.

Die in Sente
This is wrong. alpha = 1 is fully opaque
Bahbar
+1  A: 

After some fiddling around i found the problem. I have not found any documentation from MS mentioning this, so it could also be a Nvidia specific driver issue.

Apparently you are only allowed to write ONCE per Compute Shader Invocation to the same element in a RWSructuredBuffer. And you also HAVE to write ONCE.

I changed the code to accumulate the correct color in a local variable, and write it now only once at the end of the shader.

Everything works perfectly now in that way.

Gluber
Make sense to write to BufferOut once anyway (performance-wise reason), since a RWStructuredBuffer should reside in video memory. Local variables reside on GPU chip, as well as TGSM.
Stringer Bell
A: 

I'm not sure but, shouldn't it be for BufferOut decl:

RWStructuredBuffer<BufType> BufferOut : register(u0);

instead of :

RWStructuredBuffer BufferOut : register(u0);

If you are only using a float4 write target, why not use just:

RWBuffer<float4> BufferOut : register (u0);

Maybe this could help.

Stringer Bell
You are absolutly right, unfortunately this was just a copy past error on my side.. the original declaration was of courseRWStructedBuffer<BufType> BufferOut : register(u0)
Gluber
A: 
Gluber
I wrote my own WriteResult function too, some weeks ago. It worked with refrast (feature level 5_0), not tested on HW since I don't have access to DX11 class GPU. Refrast is definitely worth using for troubleshooting issues like that.
Stringer Bell
A: 

from what ive seen, computer shaders are only useful if you need a more general computational model than the tradition pixel shader, or if you can load data and then share it between threads in fast shared memory. im fairly sure u would get better performance with a pixel shader for the mandelbrot shader.

on my setup (win7, feb 10 dx sdk, gtx480) my compute shaders have a punishing setup time of over 0.2-0.3ms (binding a SRV and a UAV and then calling dispatch()).

if u do a PS implementation please post your experiences.

hdb