PP1_SCALING_CONFIG (GPU) Register Description
Register Name | PP1_SCALING_CONFIG |
---|---|
Offset Address | 0x000000A054 |
Absolute Address | 0x00FD4BA054 (GPU) |
Width | 32 |
Type | rwNormal read/write |
Reset Value | 0x00000000 |
Description | Scaling Register |
PP1_SCALING_CONFIG (GPU) Register Bit-Field Summary
Field Name | Bits | Type | Reset Value | Description |
---|---|---|---|---|
Reserved | 31:23 | rwNormal read/write | 0x0 | Reserved, write as zero, read undefined. |
SCALE_Y | 22:20 | rwNormal read/write | 0x0 | Log2 of the scale factor in y-direction. |
Reserved | 19 | rwNormal read/write | 0x0 | Reserved, write as zero, read undefined. |
SCALE_X | 18:16 | rwNormal read/write | 0x0 | Log2 of the scale factor in x-direction. |
Reserved | 15:12 | rwNormal read/write | 0x0 | Reserved, write as zero, read undefined. |
FLIP_DERIVATIVE_Y | 11 | rwNormal read/write | 0x0 | Flips the sign of the y derivative. It changes the sign on the y-coordinate when using the derivative instruction in adder4 and adder1. |
FLIP_FRAGCOORD | 10 | rwNormal read/write | 0x0 | Flips the coordinate system as read by fragcoord. When set to 1, the xy-coordinate system has the origin in the lower left corner. If set to 0, the origin is at the upper left corner. Only the fragcoord y-value is affected. |
FLIP_DITHERING_MATRIX | 9 | rwNormal read/write | 0x0 | Flips the dithering matrix enabled by RSW 14, bit 13 upside down. See Subword 14: Stencil clear tag, number of uniforms, dithering/ROP4 enable, polygon orientation flag on page 3-145 The dithering enabled by WBx_DITHER_ENABLE in the WBx_TARGET_FLAGS Register is not affected. Note: There are no offsets to the dithering matrix, consequently a framebuffer with a height divisible by four is required for a 1:1 mapping with the non-flipped content. |
FLIP_POINT_SPRITES | 8 | rwNormal read/write | 0x0 | Flips the point sprites upside down. This is achieved by flipping the y-coordinate of the point sprites when using varying instruction 12. |
_ | 7:4 | rwNormal read/write | 0x0 | Reserved, write as zero, read undefined. |
DERIVATIVE_SCALE_ENABLE | 3 | rwNormal read/write | 0x0 | Enables scaling of the derivative instruction. This is achieved by multiplying the result from the derivative instructions in adder4 and adder1 by 2**SCALEX for the x-direction and 2**SCALEY for the y-direction. |
FRAGCOORD_SCALE_ENABLE | 2 | rwNormal read/write | 0x0 | Enables inverse scaling of fragcoord values. This is achieved by dividing the result of the varying instruction Position Register with 2**SCALEX for the x-direction and 2**SCALEY for the y-direction. |
DITHERING_SCALE_ENABLE | 1 | rwNormal read/write | 0x0 | Enables scaling of dithering values. This is achieved by dividing the x and y position with 2**SCALEX and 2**SCALEY before applying the dithering offset table. There are two offset tables, one in the blending unit and one in the writeback unit. Both are affected. Note: * The dither scaling is only valid for the dithering enabled by the RSW. Writeback dithering, that is, dithering enabled by the writeback registers, is not affected. * The dithering matrix can only be scaled up to the size of the tile, making scaling values greater than 3 ineffective. This is an implementation limit. |
POINT_AND_LINE_SCALE_ENABLE | 0 | rwNormal read/write | 0x0 | Enables scaling of point and line sizes. This feature multiplies the line width and point size in both x and y direction by 2*SCALEX and 2*SCALEY. The major axis for aliased lines is affected so that dx and dy are divided by 2*SCALEX and 2*SCALEY before the major axis is selected. Because of the diamond-exit rulea, the line offset is not affected by the scaling. |