mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-12 17:38:19 +00:00
[host] all: tell the client if HDR PQ is in use or not
This commit is contained in:
parent
2f36aaff5c
commit
b41840b010
@ -44,11 +44,10 @@ CaptureResult;
|
||||
typedef enum CaptureFormat
|
||||
{
|
||||
// frame formats
|
||||
CAPTURE_FMT_BGRA ,
|
||||
CAPTURE_FMT_RGBA ,
|
||||
CAPTURE_FMT_RGBA10_SDR,
|
||||
CAPTURE_FMT_RGBA10_HDR,
|
||||
CAPTURE_FMT_RGBA16F ,
|
||||
CAPTURE_FMT_BGRA ,
|
||||
CAPTURE_FMT_RGBA ,
|
||||
CAPTURE_FMT_RGBA10 ,
|
||||
CAPTURE_FMT_RGBA16F,
|
||||
|
||||
// pointer formats
|
||||
CAPTURE_FMT_COLOR ,
|
||||
@ -79,6 +78,8 @@ typedef struct CaptureFrame
|
||||
unsigned int pitch;
|
||||
unsigned int stride;
|
||||
CaptureFormat format;
|
||||
bool hdr;
|
||||
bool hdrPQ;
|
||||
CaptureRotation rotation;
|
||||
uint32_t damageRectsCount;
|
||||
FrameDamageRect damageRects[KVMFR_MAX_DAMAGE_RECTS];
|
||||
|
@ -802,7 +802,7 @@ next_output:
|
||||
// we convert to HDR10 to save bandwidth
|
||||
case DXGI_FORMAT_R16G16B16A16_FLOAT:
|
||||
this->dxgiFormat = DXGI_FORMAT_R10G10B10A2_UNORM;
|
||||
this->format = CAPTURE_FMT_RGBA10_HDR;
|
||||
this->format = CAPTURE_FMT_RGBA10;
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -1607,6 +1607,8 @@ static CaptureResult dxgi_waitFrame(CaptureFrame * frame, const size_t maxFrameS
|
||||
frame->pitch = this->pitch;
|
||||
frame->stride = this->stride;
|
||||
frame->format = this->format;
|
||||
frame->hdr = this->hdr;
|
||||
frame->hdrPQ = false;
|
||||
frame->rotation = this->rotation;
|
||||
|
||||
frame->damageRectsCount = tex->damageRectsCount;
|
||||
|
@ -757,8 +757,10 @@ static CaptureResult nvfbc_waitFrame(CaptureFrame * frame,
|
||||
|
||||
updateDamageRects(frame);
|
||||
|
||||
frame->format = this->grabInfo.bIsHDR ?
|
||||
CAPTURE_FMT_RGBA10_HDR : CAPTURE_FMT_RGBA10_SDR;
|
||||
frame->format = CAPTURE_FMT_RGBA10;
|
||||
frame->hdr = this->grabInfo.bIsHDR;
|
||||
frame->hdrPQ = true;
|
||||
|
||||
return CAPTURE_RESULT_OK;
|
||||
}
|
||||
|
||||
|
@ -244,22 +244,19 @@ static bool sendFrame(void)
|
||||
app.frameIndex = 0;
|
||||
|
||||
KVMFRFrame * fi = lgmpHostMemPtr(app.frameMemory[app.frameIndex]);
|
||||
KVMFRFrameFlags flags = 0;
|
||||
KVMFRFrameFlags flags =
|
||||
(frame.hdr ? FRAME_FLAG_HDR : 0) |
|
||||
(frame.hdrPQ ? FRAME_FLAG_HDR_PQ : 0);
|
||||
|
||||
switch(frame.format)
|
||||
{
|
||||
case CAPTURE_FMT_BGRA : fi->type = FRAME_TYPE_BGRA ; break;
|
||||
case CAPTURE_FMT_RGBA : fi->type = FRAME_TYPE_RGBA ; break;
|
||||
|
||||
case CAPTURE_FMT_RGBA10_SDR:
|
||||
case CAPTURE_FMT_RGBA10:
|
||||
fi->type = FRAME_TYPE_RGBA10;
|
||||
break;
|
||||
|
||||
case CAPTURE_FMT_RGBA10_HDR:
|
||||
fi->type = FRAME_TYPE_RGBA10;
|
||||
flags |= FRAME_FLAG_HDR;
|
||||
break;
|
||||
|
||||
case CAPTURE_FMT_RGBA16F:
|
||||
fi->type = FRAME_TYPE_RGBA16F;
|
||||
flags |= FRAME_FLAG_HDR;
|
||||
|
Loading…
Reference in New Issue
Block a user