// Copyright 2022 Dolphin Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include #include #include "Common/CommonTypes.h" #include "Common/Matrix.h" #include "Common/SmallVector.h" #include "VideoCommon/Assets/TextureAsset.h" #include "VideoCommon/PixelShaderGen.h" namespace GraphicsModActionData { struct DrawStarted { const Common::SmallVector& texture_units; bool* skip; std::optional* custom_pixel_shader; std::span* material_uniform_buffer; }; struct EFB { u32 texture_width; u32 texture_height; bool* skip; u32* scaled_width; u32* scaled_height; }; struct Projection { Common::Matrix44* matrix; }; struct TextureLoad { std::string_view texture_name; }; struct TextureCreate { std::string_view texture_name; u32 texture_width; u32 texture_height; std::vector>* custom_textures; // Dependencies needed to reload the texture and trigger this create again std::vector>* additional_dependencies; }; } // namespace GraphicsModActionData