| 1234567891011121314151617181920212223242526272829303132333435363738 |
- // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
- // SPDX-License-Identifier: GPL-2.0-or-later
- #pragma once
- #include "common/common_types.h"
- #include "common/math_util.h"
- #include "core/hle/service/nvnflinger/buffer_transform_flags.h"
- #include "core/hle/service/nvnflinger/pixel_format.h"
- #include "core/hle/service/nvnflinger/ui/fence.h"
- namespace Tegra {
- enum class BlendMode {
- Opaque,
- Premultiplied,
- Coverage,
- };
- /**
- * Struct describing framebuffer configuration
- */
- struct FramebufferConfig {
- DAddr address{};
- u32 offset{};
- u32 width{};
- u32 height{};
- u32 stride{};
- Service::android::PixelFormat pixel_format{};
- Service::android::BufferTransformFlags transform_flags{};
- Common::Rectangle<int> crop_rect{};
- BlendMode blending{};
- };
- Common::Rectangle<f32> NormalizeCrop(const FramebufferConfig& framebuffer, u32 texture_width,
- u32 texture_height);
- } // namespace Tegra
|