PP1_SCALING_CONFIG (GPU) Register

Zynq UltraScale+ Devices Register Reference (UG1087)

Document ID
UG1087
Release Date
2024-03-13
Revision
1.10

PP1_SCALING_CONFIG (GPU) Register Description

Register NamePP1_SCALING_CONFIG
Offset Address0x000000A054
Absolute Address 0x00FD4BA054 (GPU)
Width32
TyperwNormal read/write
Reset Value0x00000000
DescriptionScaling Register

PP1_SCALING_CONFIG (GPU) Register Bit-Field Summary

Field NameBitsTypeReset ValueDescription
Reserved31:23rwNormal read/write0x0Reserved, write as zero, read undefined.
SCALE_Y22:20rwNormal read/write0x0Log2 of the scale factor in y-direction.
Reserved19rwNormal read/write0x0Reserved, write as zero, read undefined.
SCALE_X18:16rwNormal read/write0x0Log2 of the scale factor in x-direction.
Reserved15:12rwNormal read/write0x0Reserved, write as zero, read undefined.
FLIP_DERIVATIVE_Y11rwNormal read/write0x0Flips the sign of the y derivative. It changes the sign on the
y-coordinate when using the derivative instruction in adder4
and adder1.
FLIP_FRAGCOORD10rwNormal read/write0x0Flips 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 9rwNormal read/write0x0Flips 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 8rwNormal read/write0x0Flips the point sprites upside down. This is achieved by flipping
the y-coordinate of the point sprites when using varying
instruction 12.
_ 7:4rwNormal read/write0x0Reserved, write as zero, read undefined.
DERIVATIVE_SCALE_ENABLE 3rwNormal read/write0x0Enables 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 2rwNormal read/write0x0Enables 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 1rwNormal read/write0x0Enables 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 0rwNormal read/write0x0Enables 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.