Skip to content

Commit e92252b

Browse files
committed
amd_ags_x64: Add definitions for AGSDisplaySettings_506
The enum stuff is slightly different here. Signed-off-by: Joshua Ashton <[email protected]>
1 parent 4527715 commit e92252b

File tree

1 file changed

+44
-11
lines changed

1 file changed

+44
-11
lines changed

dlls/amd_ags_x64/amd_ags.h

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -689,22 +689,54 @@ typedef struct AGSGPUInfo_600
689689
} AGSGPUInfo_600;
690690

691691
/// The display mode
692-
typedef enum AGSDisplaySettings_Mode
692+
typedef enum AGSDisplaySettings_Mode_506
693693
{
694-
Mode_SDR, ///< SDR mode
695-
Mode_HDR10_PQ, ///< HDR10 PQ encoding, requiring a 1010102 UNORM swapchain and PQ encoding in the output shader.
696-
Mode_HDR10_scRGB, ///< HDR10 scRGB, requiring an FP16 swapchain. Values of 1.0 == 80 nits, 125.0 == 10000 nits.
697-
Mode_FreesyncHDR_scRGB, ///< Freesync HDR scRGB, requiring an FP16 swapchain. A value of 1.0 == 80 nits.
698-
Mode_FreesyncHDR_Gamma22, ///< Freesync HDR Gamma 2.2, requiring a 1010102 UNORM swapchain. The output needs to be encoded to gamma 2.2.
699-
Mode_DolbyVision, ///< Dolby Vision, requiring an 8888 UNORM swapchain
694+
Mode_506_SDR, ///< SDR mode
695+
Mode_506_scRGB, ///< scRGB, requiring an FP16 swapchain. Values of 1.0 == 80 nits, 125.0 == 10000 nits. Uses REC709 primaries.
696+
Mode_506_PQ, ///< PQ encoding, requiring a 1010102 UNORM swapchain and PQ encoding in the output shader. Uses BT2020 primaries.
697+
Mode_506_DolbyVision ///< Dolby Vision, requiring an 8888 UNORM swapchain
698+
} AGSDisplaySettings_Mode_506;
700699

701-
Mode_Count ///< Number of enumerated display modes
702-
} AGSDisplaySettings_Mode;
700+
typedef enum AGSDisplaySettings_Mode_600
701+
{
702+
Mode_600_SDR, ///< SDR mode
703+
Mode_600_HDR10_PQ, ///< HDR10 PQ encoding, requiring a 1010102 UNORM swapchain and PQ encoding in the output shader.
704+
Mode_600_HDR10_scRGB, ///< HDR10 scRGB, requiring an FP16 swapchain. Values of 1.0 == 80 nits, 125.0 == 10000 nits.
705+
Mode_600_FreesyncHDR_scRGB, ///< Freesync HDR scRGB, requiring an FP16 swapchain. A value of 1.0 == 80 nits.
706+
Mode_600_FreesyncHDR_Gamma22, ///< Freesync HDR Gamma 2.2, requiring a 1010102 UNORM swapchain. The output needs to be encoded to gamma 2.2.
707+
Mode_600_DolbyVision, ///< Dolby Vision, requiring an 8888 UNORM swapchain
708+
709+
Mode_600_Count ///< Number of enumerated display modes
710+
} AGSDisplaySettings_Mode_600;
711+
712+
/// The struct to specify the display settings to the driver.
713+
typedef struct AGSDisplaySettings_506
714+
{
715+
AGSDisplaySettings_Mode_506 mode; ///< The display mode to set the display into
716+
717+
double chromaticityRedX; ///< Red display primary X coord
718+
double chromaticityRedY; ///< Red display primary Y coord
719+
720+
double chromaticityGreenX; ///< Green display primary X coord
721+
double chromaticityGreenY; ///< Green display primary Y coord
722+
723+
double chromaticityBlueX; ///< Blue display primary X coord
724+
double chromaticityBlueY; ///< Blue display primary Y coord
725+
726+
double chromaticityWhitePointX; ///< White point X coord
727+
double chromaticityWhitePointY; ///< White point Y coord
728+
729+
double minLuminance; ///< The minimum scene luminance in nits
730+
double maxLuminance; ///< The maximum scene luminance in nits
731+
732+
double maxContentLightLevel; ///< The maximum content light level in nits (MaxCLL)
733+
double maxFrameAverageLightLevel; ///< The maximum frame average light level in nits (MaxFALL)
734+
} AGSDisplaySettings_506;
703735

704736
/// The struct to specify the display settings to the driver.
705737
typedef struct AGSDisplaySettings_511
706738
{
707-
AGSDisplaySettings_Mode mode; ///< The display mode to set the display into
739+
AGSDisplaySettings_Mode_600 mode; ///< The display mode to set the display into
708740

709741
double chromaticityRedX; ///< Red display primary X coord
710742
double chromaticityRedY; ///< Red display primary Y coord
@@ -731,7 +763,7 @@ typedef struct AGSDisplaySettings_511
731763
/// The struct to specify the display settings to the driver.
732764
typedef struct AGSDisplaySettings_600
733765
{
734-
AGSDisplaySettings_Mode mode; ///< The display mode to set the display into
766+
AGSDisplaySettings_Mode_600 mode; ///< The display mode to set the display into
735767

736768
double chromaticityRedX; ///< Red display primary X coord
737769
double chromaticityRedY; ///< Red display primary Y coord
@@ -757,6 +789,7 @@ typedef struct AGSDisplaySettings_600
757789

758790
typedef union AGSDisplaySettings
759791
{
792+
AGSDisplaySettings_506 agsDisplaySettings506;
760793
AGSDisplaySettings_511 agsDisplaySettings511;
761794
AGSDisplaySettings_600 agsDisplaySettings600;
762795
} AGSDisplaySettings;

0 commit comments

Comments
 (0)