- Timestamp:
- Dec 7, 2023 5:11:48 PM (14 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDXDDI.cpp
r102408 r102530 4735 4735 { 4736 4736 //DEBUG_BREAKPOINT_TEST(); 4737 RT_NOREF(hAdapter); 4737 PVBOXDXADAPTER pAdapter = (PVBOXDXADAPTER)hAdapter.pDrvPrivate; 4738 RT_NOREF(pAdapter); 4738 4739 LogFlow(("vboxDXGetCaps: Type %d", pArg->Type)); 4739 4740 4740 4741 switch (pArg->Type) 4741 4742 { 4742 case D3D11DDICAPS_THREADING: 4743 { 4744 D3D11DDI_THREADING_CAPS* pCaps = (D3D11DDI_THREADING_CAPS *)pArg->pData; 4745 // TBD: Support these capabilities: 4746 // D3D11DDICAPS_FREETHREADED, D3D11DDICAPS_COMMANDLISTS and D3D11DDICAPS_COMMANDLISTS_BUILD_2 4747 pCaps->Caps = 0; 4748 break; 4749 } 4750 4751 case D3D11DDICAPS_SHADER: 4752 { 4753 D3D11DDI_SHADER_CAPS* pCaps = (D3D11DDI_SHADER_CAPS*)pArg->pData; 4754 pCaps->Caps = D3D11DDICAPS_SHADER_COMPUTE_PLUS_RAW_AND_STRUCTURED_BUFFERS_IN_SHADER_4_X; 4755 break; 4756 } 4757 break; 4758 4759 case D3D11_1DDICAPS_D3D11_OPTIONS: 4760 { 4761 D3D11_1DDI_D3D11_OPTIONS_DATA* pCaps = (D3D11_1DDI_D3D11_OPTIONS_DATA*)pArg->pData; 4762 pCaps->OutputMergerLogicOp = TRUE; 4763 pCaps->AssignDebugBinarySupport = TRUE; 4764 } 4765 break; 4766 4767 case D3D11_1DDICAPS_ARCHITECTURE_INFO: 4768 { 4769 D3DDDICAPS_ARCHITECTURE_INFO* pCaps = (D3DDDICAPS_ARCHITECTURE_INFO *)pArg->pData; 4770 pCaps->TileBasedDeferredRenderer = FALSE; 4771 } 4772 break; 4773 4774 case D3D11_1DDICAPS_SHADER_MIN_PRECISION_SUPPORT: 4775 { 4776 D3DDDICAPS_SHADER_MIN_PRECISION_SUPPORT* pCaps = (D3DDDICAPS_SHADER_MIN_PRECISION_SUPPORT *)pArg->pData; 4777 // The driver supports only the default precision for the shader model, and not a lower precision. 4778 pCaps->VertexShaderMinPrecision = 0; 4779 pCaps->PixelShaderMinPrecision = 0; 4780 } 4781 break; 4782 4783 case D3D11DDICAPS_3DPIPELINESUPPORT: 4784 { 4785 D3D11DDI_3DPIPELINESUPPORT_CAPS* pCaps = (D3D11DDI_3DPIPELINESUPPORT_CAPS *)pArg->pData; 4786 4787 /* Support of 11.1 pipeline assumes the support of 11.0, 10.1 and 10.0 pipelines*/ 4788 pCaps->Caps = 4789 D3D11DDI_ENCODE_3DPIPELINESUPPORT_CAP(D3D11_1DDI_3DPIPELINELEVEL_11_1) | 4790 D3D11DDI_ENCODE_3DPIPELINESUPPORT_CAP(D3D11DDI_3DPIPELINELEVEL_11_0) | 4791 D3D11DDI_ENCODE_3DPIPELINESUPPORT_CAP(D3D11DDI_3DPIPELINELEVEL_10_1) | 4792 D3D11DDI_ENCODE_3DPIPELINESUPPORT_CAP(D3D11DDI_3DPIPELINELEVEL_10_0); 4793 break; 4794 } 4795 default: 4796 break; 4743 case D3D11DDICAPS_THREADING: 4744 { 4745 D3D11DDI_THREADING_CAPS *pCaps = (D3D11DDI_THREADING_CAPS *)pArg->pData; 4746 pCaps->Caps = 0; 4747 break; 4748 } 4749 4750 case D3D11DDICAPS_SHADER: 4751 { 4752 D3D11DDI_SHADER_CAPS *pCaps = (D3D11DDI_SHADER_CAPS *)pArg->pData; 4753 pCaps->Caps = D3D11DDICAPS_SHADER_COMPUTE_PLUS_RAW_AND_STRUCTURED_BUFFERS_IN_SHADER_4_X; 4754 break; 4755 } 4756 4757 case D3D11_1DDICAPS_D3D11_OPTIONS: 4758 { 4759 D3D11_1DDI_D3D11_OPTIONS_DATA *pCaps = (D3D11_1DDI_D3D11_OPTIONS_DATA *)pArg->pData; 4760 pCaps->OutputMergerLogicOp = TRUE; /* Required for 11.1 driver. */ 4761 pCaps->AssignDebugBinarySupport = FALSE; 4762 break; 4763 } 4764 4765 case D3D11_1DDICAPS_ARCHITECTURE_INFO: 4766 { 4767 D3DDDICAPS_ARCHITECTURE_INFO *pCaps = (D3DDDICAPS_ARCHITECTURE_INFO *)pArg->pData; 4768 pCaps->TileBasedDeferredRenderer = FALSE; 4769 break; 4770 } 4771 4772 case D3D11_1DDICAPS_SHADER_MIN_PRECISION_SUPPORT: 4773 { 4774 D3DDDICAPS_SHADER_MIN_PRECISION_SUPPORT *pCaps = (D3DDDICAPS_SHADER_MIN_PRECISION_SUPPORT *)pArg->pData; 4775 /* The driver supports only the default precision for the shader model, and not a lower precision. */ 4776 pCaps->VertexShaderMinPrecision = 0; 4777 pCaps->PixelShaderMinPrecision = 0; 4778 break; 4779 } 4780 4781 case D3D11DDICAPS_3DPIPELINESUPPORT: 4782 { 4783 D3D11DDI_3DPIPELINESUPPORT_CAPS *pCaps = (D3D11DDI_3DPIPELINESUPPORT_CAPS *)pArg->pData; 4784 4785 /* Support of 11.1 pipeline assumes the support of 11.0, 10.1 and 10.0 pipelines. */ 4786 pCaps->Caps = 4787 D3D11DDI_ENCODE_3DPIPELINESUPPORT_CAP(D3D11_1DDI_3DPIPELINELEVEL_11_1) | 4788 D3D11DDI_ENCODE_3DPIPELINESUPPORT_CAP(D3D11DDI_3DPIPELINELEVEL_11_0) | 4789 D3D11DDI_ENCODE_3DPIPELINESUPPORT_CAP(D3D11DDI_3DPIPELINELEVEL_10_1) | 4790 D3D11DDI_ENCODE_3DPIPELINESUPPORT_CAP(D3D11DDI_3DPIPELINELEVEL_10_0); 4791 break; 4792 } 4793 default: 4794 break; 4797 4795 } 4798 4796
Note:
See TracChangeset
for help on using the changeset viewer.