mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-07-21 14:52:04 +00:00
[idd/client] apply the Windows display color transform
Honor the IddCx 3x4 XYZ matrix and post-transfer LUT in the IDD conversion pipeline. Carry transform changes to the client so EGL applies the same calibration to hardware cursors, and invalidate the full frame whenever calibration changes.
This commit is contained in:
@@ -34,6 +34,15 @@ enum class PostProcessStatus
|
||||
FAILED
|
||||
};
|
||||
|
||||
struct D12ColorTransform
|
||||
{
|
||||
bool matrixEnabled = false;
|
||||
float matrix[3][4] = {};
|
||||
float scalar = 1.0f;
|
||||
bool lutEnabled = false;
|
||||
float lut[4096][4] = {};
|
||||
};
|
||||
|
||||
struct D12FrameFormat
|
||||
{
|
||||
D3D12_RESOURCE_DESC desc = {};
|
||||
@@ -44,6 +53,7 @@ struct D12FrameFormat
|
||||
bool hdrPQ = false;
|
||||
bool hdrMetadata = false;
|
||||
uint32_t sdrWhiteLevel = KVMFR_SDR_WHITE_LEVEL_DEFAULT;
|
||||
std::shared_ptr<const D12ColorTransform> colorTransform;
|
||||
|
||||
// HDR static metadata (SMPTE ST 2086)
|
||||
// Display color primaries in 0.00002 units (xy coordinates)
|
||||
|
||||
Reference in New Issue
Block a user