Changeset 102383 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Video
- Timestamp:
- Nov 29, 2023 5:49:56 PM (14 months ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDX.h
r102295 r102383 64 64 65 65 bool f3D; 66 67 uint32_t fVBoxCaps; 66 68 67 69 VBOXWDDM_QAI AdapterInfo; … … 753 755 void vboxDXGetVideoProcessorRateConversionCaps(PVBOXDX_DEVICE pDevice, PVBOXDXVIDEOPROCESSORENUM pVideoProcessorEnum, 754 756 D3D11_1DDI_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps); 757 void vboxDXGetVideoProcessorCustomRate(PVBOXDX_DEVICE pDevice, PVBOXDXVIDEOPROCESSORENUM pVideoProcessorEnum, 758 UINT CustomRateIndex, D3D11_1DDI_VIDEO_PROCESSOR_CUSTOM_RATE *pRate); 755 759 void vboxDXGetVideoProcessorFilterRange(PVBOXDX_DEVICE pDevice, PVBOXDXVIDEOPROCESSORENUM pVideoProcessorEnum, 756 760 D3D11_1DDI_VIDEO_PROCESSOR_FILTER Filter, D3D11_1DDI_VIDEO_PROCESSOR_FILTER_RANGE *pFilterRange); -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDXDDI.cpp
r102253 r102383 119 119 pAdapter->f3D = true; 120 120 121 pAdapter->fVBoxCaps = pHWInfo->u.svga.au32Caps[SVGA3D_DEVCAP_3D]; 122 121 123 *ppAdapter = pAdapter; 122 124 … … 3958 3960 AssertReturn(ParamSize >= sizeof(D3D11_1DDI_VIDEO_INPUT), E_INVALIDARG); 3959 3961 3960 #if 0 3961 D3D11_1DDI_VIDEO_INPUT *pVideoInput = (D3D11_1DDI_VIDEO_INPUT *)pParams;3962 return ddi11_1RetrieveVideoFunctions(pDevice, pVideoInput);3963 #else 3964 RT_NOREF(pDevice, pParams);3965 #endif 3962 if (pDevice->pAdapter->fVBoxCaps & VBSVGA3D_CAP_VIDEO) 3963 { 3964 D3D11_1DDI_VIDEO_INPUT *pVideoInput = (D3D11_1DDI_VIDEO_INPUT *)pParams; 3965 return ddi11_1RetrieveVideoFunctions(pDevice, pVideoInput); 3966 } 3967 return E_FAIL; 3966 3968 } 3967 3969 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDXDDIVideo.cpp
r102295 r102383 312 312 D3D10DDI_HDEVICE hDevice, 313 313 D3D11_1DDI_HVIDEOPROCESSORENUM hProcessorEnum, 314 UINT RateConversionIndex, 314 315 UINT CustomRateIndex, 315 UINT RateConversionIndex,316 316 D3D11_1DDI_VIDEO_PROCESSOR_CUSTOM_RATE *pRate) 317 317 { 318 318 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 319 319 PVBOXDXVIDEOPROCESSORENUM pVideoProcessorEnum = (PVBOXDXVIDEOPROCESSORENUM)hProcessorEnum.pDrvPrivate; 320 DEBUG_BREAKPOINT_TEST();321 322 RT_NOREF( pDevice, pVideoProcessorEnum, CustomRateIndex, RateConversionIndex);323 RT_ZERO(*pRate); /* Not supported. */320 //DEBUG_BREAKPOINT_TEST(); 321 322 RT_NOREF(RateConversionIndex); /* One capability. */ 323 vboxDXGetVideoProcessorCustomRate(pDevice, pVideoProcessorEnum, CustomRateIndex, pRate); 324 324 } 325 325 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDXVideo.cpp
r102295 r102383 471 471 pCaps->ConversionCaps = pInfo->RateCaps.ProcessorCaps; 472 472 pCaps->ITelecineCaps = pInfo->RateCaps.ITelecineCaps; 473 pCaps->CustomRateCount = 0; 473 pCaps->CustomRateCount = RT_MIN(pInfo->RateCaps.CustomRateCount, VBSVGA3D_MAX_VIDEO_CUSTOM_RATE_CAPS);; 474 } 475 476 477 void vboxDXGetVideoProcessorCustomRate(PVBOXDX_DEVICE pDevice, PVBOXDXVIDEOPROCESSORENUM pVideoProcessorEnum, 478 UINT CustomRateIndex, D3D11_1DDI_VIDEO_PROCESSOR_CUSTOM_RATE *pRate) 479 { 480 if (memcmp(&pVideoProcessorEnum->svga.desc, 481 &pDevice->VideoDevice.videoProcessorEnum.desc, sizeof(pVideoProcessorEnum->svga.desc)) != 0) 482 vboxDXQueryVideoProcessorEnumInfo(pDevice, pVideoProcessorEnum->svga.desc); 483 484 VBSVGA3dVideoProcessorEnumInfo const *pInfo = &pDevice->VideoDevice.videoProcessorEnum.info; 485 VBSVGA3dVideoProcessorCustomRateCaps const *pCustomRateCaps = &pInfo->aCustomRateCaps[CustomRateIndex]; 486 pRate->CustomRate.Numerator = pCustomRateCaps->CustomRate.numerator; 487 pRate->CustomRate.Denominator = pCustomRateCaps->CustomRate.denominator; 488 pRate->OutputFrames = pCustomRateCaps->OutputFrames; 489 pRate->InputInterlaced = RT_BOOL(pCustomRateCaps->InputInterlaced); 490 pRate->InputFramesOrFields = pCustomRateCaps->InputFramesOrFields; 474 491 } 475 492
Note:
See TracChangeset
for help on using the changeset viewer.