Merge pull request #358 from neobrain/pica_progress2
pica_progress followups
This commit is contained in:
commit
7c8f6ca051
11 changed files with 385 additions and 125 deletions
|
@ -94,11 +94,15 @@ inline void Write(u32 addr, const T data) {
|
|||
int r, g, b, a;
|
||||
} source_color = { 0, 0, 0, 0 };
|
||||
|
||||
// Cheap emulation of horizontal scaling: Just skip each second pixel of the
|
||||
// input framebuffer. We keep track of this in the pixel_skip variable.
|
||||
unsigned pixel_skip = (config.scale_horizontally != 0) ? 2 : 1;
|
||||
|
||||
switch (config.input_format) {
|
||||
case Regs::PixelFormat::RGBA8:
|
||||
{
|
||||
// TODO: Most likely got the component order messed up.
|
||||
u8* srcptr = source_pointer + x * 4 + y * config.input_width * 4;
|
||||
u8* srcptr = source_pointer + x * 4 * pixel_skip + y * config.input_width * 4 * pixel_skip;
|
||||
source_color.r = srcptr[0]; // blue
|
||||
source_color.g = srcptr[1]; // green
|
||||
source_color.b = srcptr[2]; // red
|
||||
|
|
|
@ -157,6 +157,9 @@ struct Regs {
|
|||
BitField< 8, 3, PixelFormat> input_format;
|
||||
BitField<12, 3, PixelFormat> output_format;
|
||||
BitField<16, 1, u32> output_tiled; // stores output in a tiled format
|
||||
|
||||
// TODO: Not really sure if this actually scales, or even resizes at all.
|
||||
BitField<24, 1, u32> scale_horizontally;
|
||||
};
|
||||
|
||||
INSERT_PADDING_WORDS(0x1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue