about system values SV_*
1/ SV_RenderTargetArrayIndex / SV_Target
SV_RenderTargetArrayIndex able to choose in which RenderTarget a primitive must be draw. The PixelShader write its output with SV_Target (so, SV_Target0 as shown in the CubeMapGS example).
In a multiple RenderTargets pipeline:
a/ is it possible to set a pixel output to only certain peculiar RenderTarget. For example, output SV_Target1 and 3 and killing SV_Target0 and 2? From the actual syntax, I would say no.
b/ if I set SV_RenderTargetArrayIndex in the VertexShader/GeometryShader, what appends if I set SV_Target1 in the PixelShader? Will it set the pixel in the SV_RenderTargetArrayIndex+1 RenderTarget or do SV_RenderTargetArrayIndex actually limits the ouput to only one RenderTarget?
2/ The documentation seems not clear about SV_Position input semantic in a PixelShader (maybe my english is not good enough). From what I understand, if the pixel position is (i,j), the SV_Position values will be (i+dx, j+dy, 0, 1/w) whith (dx,dy)=(0,0) in a non multisampled environment and -0.5<=dx<0.5, -0.5<=dy<0.5 in a multisampled one. Right?
3/ About SV_*Id system generated values. Are these counters zeroed at each draw? Or maybe SV_VertexId and SV_PrimitiveId are zeroed for each instance and SV_InstanceId for each draw?
More ever, are these Ids always the same from one render to another? Are they GPU-dependant?
4/ SV_CullDistance is not documented.
Thanks for your help.

