SimpleGS5.hlsl 590 B

1234567891011121314151617181920212223242526272829
  1. // RUN: %dxc -E main -T gs_6_0 %s | FileCheck %s
  2. // CHECK: InputPrimitive=patch2
  3. // CHECK: emitStream
  4. // CHECK: cutStream
  5. // CHECK: i32 24}
  6. struct GSOut {
  7. float2 uv : TEXCOORD0;
  8. float4 clr : COLOR;
  9. float4 pos : SV_Position;
  10. float3 norm[2] : NORMAL;
  11. };
  12. cbuffer b : register(b0) {
  13. float2 invViewportSize;
  14. };
  15. // geometry shader that outputs 3 vertices from a point
  16. [maxvertexcount(3)]
  17. [instance(24)]
  18. void main(InputPatch<GSOut, 2>points, inout PointStream<GSOut> stream) {
  19. points[0].norm[0] = 1;
  20. points[0].norm[1] = 2;
  21. stream.Append(points[0]);
  22. stream.RestartStrip();
  23. }