diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionData.h b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionData.h index f302b08362..ce61cd27a9 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionData.h +++ b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionData.h @@ -12,18 +12,36 @@ #include "Common/CommonTypes.h" #include "Common/Matrix.h" #include "Common/SmallVector.h" +#include "VideoCommon/AbstractGfx.h" #include "VideoCommon/Assets/TextureAsset.h" #include "VideoCommon/ConstantManager.h" #include "VideoCommon/PixelShaderGen.h" namespace GraphicsModActionData { +struct MeshChunk +{ + std::span vertex_data; + std::span index_data; + u32 vertex_stride; + NativeVertexFormat* vertex_format; + PrimitiveType primitive_type; + u32 components_available; + Common::Matrix44 transform; + CullMode cull_mode = CullMode::Front; +}; struct DrawStarted { const Common::SmallVector& texture_units; + const NativeVertexFormat& current_vertex_format; + std::span original_mesh_data; + u32 current_components_available; bool* skip; std::optional* custom_pixel_shader; std::span* material_uniform_buffer; + std::optional* mesh_chunk; + u32* current_mesh_index; + bool* more_data; }; struct EFB