---
title: setCurrentDisplayMode
framework: kernel
role: pseudoSymbol
path: kernel/ioframebuffer/1813685-setcurrentdisplaymode
---

# setCurrentDisplayMode

Set the framebuffers current display mode and depth.

## Declaration

```occ
virtual IOReturn setDisplayMode(
 IODisplayModeIDdisplayMode, 
 IOIndexdepth ); 
```

## Parameters

- `displayMode`: A display mode ID representing the new mode.
- `depth`: An index indicating the new depth configuration of the framebuffer. The index should range from zero to the value of the maxDepthIndex field from the IODisplayModeInformation structure for the display mode.

## Return Value

Return Value an IOReturn code. A return other than kIOReturnSuccess will prevent the system from using the device.

## Overview

Overview IOFramebuffer subclasses should implement this method to set the current mode and depth. Other than at enableController() time, this is the only method that should change the framebuffer format and is synchronized with clients and attached accelerators to make sure access to the device is disallowed during the change.

## See Also

### Miscellaneous

- [connectFlags](kernel/ioframebuffer/1812972-connectflags.md)
- [convertCursorImage](kernel/ioframebuffer/1812983-convertcursorimage.md)
- [doI2CRequest](kernel/ioframebuffer/1812996-doi2crequest.md)
- [enableController](kernel/ioframebuffer/1813011-enablecontroller.md)
- [flushCursor](kernel/ioframebuffer/1813022-flushcursor.md)
- [getApertureRange](kernel/ioframebuffer/1813036-getaperturerange.md)
- [getAppleSense](kernel/ioframebuffer/1813053-getapplesense.md)
- [getAttribute](kernel/ioframebuffer/1813070-getattribute.md)
- [getAttributeForConnection](kernel/ioframebuffer/1813093-getattributeforconnection.md)
- [getConnectionCount](kernel/ioframebuffer/1813110-getconnectioncount.md)
- [getCurrentDisplayMode(IODisplayModeID *, IOIndex *)](kernel/ioframebuffer/1813145-getcurrentdisplaymode.md)
- [getDDCBlock](kernel/ioframebuffer/1813183-getddcblock.md)
- [getDisplayModeCount](kernel/ioframebuffer/1813210-getdisplaymodecount.md)
- [getDisplayModes](kernel/ioframebuffer/1813237-getdisplaymodes.md)
- [getInformationForDisplayMode](kernel/ioframebuffer/1813269-getinformationfordisplaymode.md)
- [getPixelFormats](kernel/ioframebuffer/1813303-getpixelformats.md)
- [getPixelFormatsForDisplayMode](kernel/ioframebuffer/1813329-getpixelformatsfordisplaymode.md)
- [getPixelInformation](kernel/ioframebuffer/1813353-getpixelinformation.md)
- [getStartupDisplayMode](kernel/ioframebuffer/1813382-getstartupdisplaymode.md)
- [getTimingInfoForDisplayMode](kernel/ioframebuffer/1813413-gettiminginfofordisplaymode.md)
- [getVRAMRange](kernel/ioframebuffer/1813443-getvramrange.md)
- [handleEvent](kernel/ioframebuffer/1813481-handleevent.md)
- [hasDDCConnect](kernel/ioframebuffer/1813510-hasddcconnect.md)
- [readDDCClock](kernel/ioframebuffer/1813550-readddcclock.md)
- [readDDCData](kernel/ioframebuffer/1813593-readddcdata.md)
- [registerForInterruptType](kernel/ioframebuffer/1813622-registerforinterrupttype.md)
- [setApertureEnable](kernel/ioframebuffer/1813646-setapertureenable.md)
- [setAttribute](kernel/ioframebuffer/1813661-setattribute.md)
- [setAttributeForConnection](kernel/ioframebuffer/1813672-setattributeforconnection.md)
- [setCLUTWithEntries](kernel/ioframebuffer/1813680-setclutwithentries.md)
- [setCursorImage](kernel/ioframebuffer/1813692-setcursorimage.md)
- [setCursorState](kernel/ioframebuffer/1813699-setcursorstate.md)
- [setDDCClock](kernel/ioframebuffer/1813707-setddcclock.md)
- [setDDCData](kernel/ioframebuffer/1813718-setddcdata.md)
- [setDetailedTimings](kernel/ioframebuffer/1813724-setdetailedtimings.md)
- [setDisplayMode](kernel/ioframebuffer/1813732-setdisplaymode.md)
- [setGammaTable](kernel/ioframebuffer/1813739-setgammatable.md)
- [setInterruptState](kernel/ioframebuffer/1813744-setinterruptstate.md)
- [setStartupDisplayMode](kernel/ioframebuffer/1813749-setstartupdisplaymode.md)
- [unregisterInterrupt(void *)](kernel/ioframebuffer/1813753-unregisterinterrupt.md)
- [unregisterInterrupt(void *, UInt32)](kernel/ioframebuffer/1813757-unregisterinterrupt.md)
- [validateDetailedTiming](kernel/ioframebuffer/1813761-validatedetailedtiming.md)
