@@ -689,22 +689,54 @@ typedef struct AGSGPUInfo_600
689
689
} AGSGPUInfo_600 ;
690
690
691
691
/// The display mode
692
- typedef enum AGSDisplaySettings_Mode
692
+ typedef enum AGSDisplaySettings_Mode_506
693
693
{
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 ;
700
699
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 ;
703
735
704
736
/// The struct to specify the display settings to the driver.
705
737
typedef struct AGSDisplaySettings_511
706
738
{
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
708
740
709
741
double chromaticityRedX ; ///< Red display primary X coord
710
742
double chromaticityRedY ; ///< Red display primary Y coord
@@ -731,7 +763,7 @@ typedef struct AGSDisplaySettings_511
731
763
/// The struct to specify the display settings to the driver.
732
764
typedef struct AGSDisplaySettings_600
733
765
{
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
735
767
736
768
double chromaticityRedX ; ///< Red display primary X coord
737
769
double chromaticityRedY ; ///< Red display primary Y coord
@@ -757,6 +789,7 @@ typedef struct AGSDisplaySettings_600
757
789
758
790
typedef union AGSDisplaySettings
759
791
{
792
+ AGSDisplaySettings_506 agsDisplaySettings506 ;
760
793
AGSDisplaySettings_511 agsDisplaySettings511 ;
761
794
AGSDisplaySettings_600 agsDisplaySettings600 ;
762
795
} AGSDisplaySettings ;
0 commit comments