- TraceCallStack mCallStack;
- TestGlAbstraction& mGlAbstraction;
-
- std::vector<Graphics::TextureBinding> mTextureBindings;
+ TraceCallStack& mCallStack;
+ TestGlAbstraction& mGlAbstraction;
+ TestGraphicsPipeline* mPipeline{nullptr};
+ std::vector<Graphics::TextureBinding> mTextureBindings{};
+
+ struct VertexBuffersBinding
+ {
+ uint32_t firstBinding;
+ std::vector<const Graphics::Buffer*> buffers;
+ std::vector<uint32_t> offsets;
+ };
+ VertexBuffersBinding mVertexBufferBindings{};
+
+ struct IndexBufferBinding
+ {
+ const Graphics::Buffer* buffer;
+ uint32_t offset;
+ Graphics::Format format;
+ };
+ IndexBufferBinding mIndexBufferBinding{};
+
+ struct Draw
+ {
+ enum class DrawType
+ {
+ Indexed,
+ Unindexed
+ } drawType;
+ union
+ {
+ struct IndexedDraw
+ {
+ uint32_t indexCount;
+ uint32_t instanceCount;
+ uint32_t firstIndex;
+ int32_t vertexOffset;
+ uint32_t firstInstance;
+ } indexedDraw;
+ struct UnindexedDraw
+ {
+ uint32_t vertexCount;
+ uint32_t instanceCount;
+ uint32_t firstVertex;
+ uint32_t firstInstance;
+ } unindexedDraw;
+ } u;
+ } drawCommand;