framebuffer_config.h 677 B

12345678910111213141516171819202122232425262728293031
  1. // Copyright 2020 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. namespace Tegra {
  6. /**
  7. * Struct describing framebuffer configuration
  8. */
  9. struct FramebufferConfig {
  10. enum class PixelFormat : u32 {
  11. A8B8G8R8_UNORM = 1,
  12. RGB565_UNORM = 4,
  13. B8G8R8A8_UNORM = 5,
  14. };
  15. VAddr address{};
  16. u32 offset{};
  17. u32 width{};
  18. u32 height{};
  19. u32 stride{};
  20. PixelFormat pixel_format{};
  21. using TransformFlags = Service::NVFlinger::BufferQueue::BufferTransformFlags;
  22. TransformFlags transform_flags{};
  23. Common::Rectangle<int> crop_rect;
  24. };
  25. } // namespace Tegra