Changeset 67556 in vbox
- Timestamp:
- Jun 22, 2017 9:31:21 AM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 116304
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r67478 r67556 957 957 } 958 958 959 /* The VBE_DISPI_INDEX_VIRT_HEIGHT is used to prevent setting resolution bigger than VRAM permits 960 * it is used instead of VBE_DISPI_INDEX_YRES *only* in case 961 * pThis->vbe_regs[VBE_DISPI_INDEX_VIRT_HEIGHT] < pThis->vbe_regs[VBE_DISPI_INDEX_YRES] 962 * We can not simply do pThis->vbe_regs[VBE_DISPI_INDEX_VIRT_HEIGHT] = cVirtHeight since 963 * the cVirtHeight we calculated can exceed the 16bit value range 964 * instead we'll check if it's bigger than pThis->vbe_regs[VBE_DISPI_INDEX_YRES], and if yes, 965 * assign the pThis->vbe_regs[VBE_DISPI_INDEX_VIRT_HEIGHT] with a dummy UINT16_MAX value 966 * that is always bigger than pThis->vbe_regs[VBE_DISPI_INDEX_YRES] 967 * to just ensure the pThis->vbe_regs[VBE_DISPI_INDEX_YRES] is always used */ 968 pThis->vbe_regs[VBE_DISPI_INDEX_VIRT_HEIGHT] = (cVirtHeight >= (uint32_t)pThis->vbe_regs[VBE_DISPI_INDEX_YRES]) 969 ? UINT16_MAX : (uint16_t)cVirtHeight; 959 /* The VBE_DISPI_INDEX_VIRT_HEIGHT is used to prevent setting resolution bigger than 960 * the VRAM size permits. It is used instead of VBE_DISPI_INDEX_YRES *only* in case 961 * pThis->vbe_regs[VBE_DISPI_INDEX_VIRT_HEIGHT] < pThis->vbe_regs[VBE_DISPI_INDEX_YRES]. 962 * Note that VBE_DISPI_INDEX_VIRT_HEIGHT has to be clipped to UINT16_MAX, which happens 963 * with small resolutions and big VRAM. */ 964 pThis->vbe_regs[VBE_DISPI_INDEX_VIRT_HEIGHT] = cVirtHeight >= UINT16_MAX ? UINT16_MAX : (uint16_t)cVirtHeight; 970 965 } 971 966
Note:
See TracChangeset
for help on using the changeset viewer.