SetupUnit.h 730 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright 2008 Dolphin Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "Common/CommonTypes.h"
  5. #include "VideoBackends/Software/NativeVertexFormat.h"
  6. namespace OpcodeDecoder
  7. {
  8. enum class Primitive : u8;
  9. }
  10. class SetupUnit
  11. {
  12. OpcodeDecoder::Primitive m_PrimType{};
  13. int m_VertexCounter = 0;
  14. OutputVertexData m_Vertices[3];
  15. OutputVertexData* m_VertPointer[3]{};
  16. OutputVertexData* m_VertWritePointer{};
  17. void SetupQuad();
  18. void SetupTriangle();
  19. void SetupTriStrip();
  20. void SetupTriFan();
  21. void SetupLine();
  22. void SetupLineStrip();
  23. void SetupPoint();
  24. public:
  25. void Init(OpcodeDecoder::Primitive primitive_type);
  26. OutputVertexData* GetVertex();
  27. void SetupVertex();
  28. };