framebuffer.h 1004 B

1234567891011121314151617181920212223242526272829
  1. // Copyright 2017 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "common/common_types.h"
  6. #include "common/vector_math.h"
  7. #include "video_core/regs_framebuffer.h"
  8. namespace Pica {
  9. namespace Rasterizer {
  10. void DrawPixel(int x, int y, const Math::Vec4<u8>& color);
  11. const Math::Vec4<u8> GetPixel(int x, int y);
  12. u32 GetDepth(int x, int y);
  13. u8 GetStencil(int x, int y);
  14. void SetDepth(int x, int y, u32 value);
  15. void SetStencil(int x, int y, u8 value);
  16. u8 PerformStencilAction(FramebufferRegs::StencilAction action, u8 old_stencil, u8 ref);
  17. Math::Vec4<u8> EvaluateBlendEquation(const Math::Vec4<u8>& src, const Math::Vec4<u8>& srcfactor,
  18. const Math::Vec4<u8>& dest, const Math::Vec4<u8>& destfactor,
  19. FramebufferRegs::BlendEquation equation);
  20. u8 LogicOp(u8 src, u8 dest, FramebufferRegs::LogicOp op);
  21. } // namespace Rasterizer
  22. } // namespace Pica