michael@0: void VS_Clear( in float3 inPosition : POSITION, in float4 inColor : COLOR, michael@0: out float4 outPosition : SV_POSITION, out float4 outColor : COLOR) michael@0: { michael@0: outPosition = float4(inPosition, 1.0f); michael@0: outColor = inColor; michael@0: } michael@0: michael@0: // Assume we are in SM4+, which has 8 color outputs michael@0: struct PS_OutputMultiple michael@0: { michael@0: float4 color0 : SV_TARGET0; michael@0: float4 color1 : SV_TARGET1; michael@0: float4 color2 : SV_TARGET2; michael@0: float4 color3 : SV_TARGET3; michael@0: float4 color4 : SV_TARGET4; michael@0: float4 color5 : SV_TARGET5; michael@0: float4 color6 : SV_TARGET6; michael@0: float4 color7 : SV_TARGET7; michael@0: }; michael@0: michael@0: PS_OutputMultiple PS_ClearMultiple(in float4 inPosition : SV_POSITION, in float4 inColor : COLOR) michael@0: { michael@0: PS_OutputMultiple outColor; michael@0: outColor.color0 = inColor; michael@0: outColor.color1 = inColor; michael@0: outColor.color2 = inColor; michael@0: outColor.color3 = inColor; michael@0: outColor.color4 = inColor; michael@0: outColor.color5 = inColor; michael@0: outColor.color6 = inColor; michael@0: outColor.color7 = inColor; michael@0: return outColor; michael@0: } michael@0: michael@0: float4 PS_ClearSingle(in float4 inPosition : SV_Position, in float4 inColor : COLOR) : SV_Target0 michael@0: { michael@0: return inColor; michael@0: }