summaryrefslogtreecommitdiffstats
path: root/src/core/hw/gpu.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/hw/gpu.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/hw/gpu.h b/src/core/hw/gpu.h
index 5b7f0a4e9..c8f884494 100644
--- a/src/core/hw/gpu.h
+++ b/src/core/hw/gpu.h
@@ -188,17 +188,22 @@ struct Regs {
BitField<16, 16, u32> input_height;
};
+ enum ScalingMode : u32 {
+ NoScale = 0, // Doesn't scale the image
+ ScaleX = 1, // Downscales the image in half in the X axis and applies a box filter
+ ScaleXY = 2, // Downscales the image in half in both the X and Y axes and applies a box filter
+ };
+
union {
u32 flags;
- BitField< 0, 1, u32> flip_data; // flips input data horizontally (TODO) if true
+ BitField< 0, 1, u32> flip_vertically; // flips input data vertically
BitField< 1, 1, u32> output_tiled; // Converts from linear to tiled format
BitField< 3, 1, u32> raw_copy; // Copies the data without performing any processing
BitField< 8, 3, PixelFormat> input_format;
BitField<12, 3, PixelFormat> output_format;
- BitField<24, 1, u32> scale_horizontally;
- BitField<25, 1, u32> scale_vertically;
+ BitField<24, 2, ScalingMode> scaling; // Determines the scaling mode of the transfer
};
INSERT_PADDING_WORDS(0x1);