#pragma once #include #include "helpers.hpp" namespace PICA { struct DrawAcceleration { static constexpr u32 maxAttribCount = 12; struct AttributeInfo { u8* data; u32 offset; u32 size; u32 stride; u8 inputReg; // Which input reg should this attribute go to in the vertex shader? u8 type; u8 componentCount; bool fixed; bool isPadding; std::array fixedValue; // For fixed attributes }; u8* indexBuffer; // Minimum and maximum index in the index buffer for a draw call u16 minimumIndex, maximumIndex; u32 totalAttribCount; u32 enabledAttributeMask; u32 vertexDataSize; std::array attributeInfo; bool canBeAccelerated; bool indexed; bool useShortIndices; }; } // namespace PICA