VirtualBox

Changeset 52631 in vbox


Ignore:
Timestamp:
Sep 5, 2014 9:11:11 PM (10 years ago)
Author:
vboxsync
Message:

wddm: more verbose err logging

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVidPn.cpp

    r52348 r52631  
    526526        {
    527527            WARN(("pfnAddMode failed, Status 0x%x", Status));
     528            VBoxVidPnDumpSourceMode("SourceMode: ", pVidPnModeInfo, "\n");
    528529            NTSTATUS tmpStatus = pVidPnModeSetInterface->pfnReleaseModeInfo(hVidPnModeSet, pVidPnModeInfo);
    529530            Assert(tmpStatus == STATUS_SUCCESS);
     
    585586        {
    586587            WARN(("pfnAddMode failed, Status 0x%x", Status));
     588            VBoxVidPnDumpTargetMode("TargetMode: ", pVidPnModeInfo, "\n");
    587589            NTSTATUS tmpStatus = pVidPnModeSetInterface->pfnReleaseModeInfo(hVidPnModeSet, pVidPnModeInfo);
    588590            Assert(tmpStatus == STATUS_SUCCESS);
     
    850852    {
    851853        WARN(("vboxVidPnTargetModeSetFromArray failed Status(0x%x)", Status));
     854        vboxVidPnDumpVidPn("\nVidPn: ---------\n", pDevExt, hVidPn, pVidPnInterface, "\n------\n");
     855        VBoxVidPnDumpMonitorModeSet("MonModeSet: --------\n", pDevExt, VidPnTargetId, "\n------\n");
     856        NTSTATUS tmpStatus = pVidPnInterface->pfnReleaseTargetModeSet(hVidPn, hVidPnModeSet);
     857        Assert(tmpStatus == STATUS_SUCCESS);
    852858        return Status;
    853859    }
     
    857863    {
    858864        WARN(("\n\n!!!!!!!\n\n pfnAssignTargetModeSet failed, Status(0x%x)", Status));
     865        vboxVidPnDumpVidPn("\nVidPn: ---------\n", pDevExt, hVidPn, pVidPnInterface, "\n------\n");
     866        VBoxVidPnDumpMonitorModeSet("MonModeSet: --------\n", pDevExt, VidPnTargetId, "\n------\n");
    859867        NTSTATUS tmpStatus = pVidPnInterface->pfnReleaseTargetModeSet(hVidPn, hVidPnModeSet);
    860868        Assert(tmpStatus == STATUS_SUCCESS);
     
    908916    {
    909917        WARN(("vboxVidPnSourceModeSetFromArray failed Status(0x%x)", Status));
     918        vboxVidPnDumpVidPn("\nVidPn: ---------\n", pDevExt, hVidPn, pVidPnInterface, "\n------\n");
     919        VBoxVidPnDumpMonitorModeSet("MonModeSet: --------\n", pDevExt, VidPnTargetId, "\n------\n");
     920        NTSTATUS tmpStatus = pVidPnInterface->pfnReleaseSourceModeSet(hVidPn, hVidPnModeSet);
     921        Assert(tmpStatus == STATUS_SUCCESS);
    910922        return Status;
    911923    }
     
    915927    {
    916928        WARN(("\n\n!!!!!!!\n\n pfnAssignSourceModeSet failed, Status(0x%x)", Status));
     929        vboxVidPnDumpVidPn("\nVidPn: ---------\n", pDevExt, hVidPn, pVidPnInterface, "\n------\n");
     930        VBoxVidPnDumpMonitorModeSet("MonModeSet: --------\n", pDevExt, VidPnTargetId, "\n------\n");
    917931        NTSTATUS tmpStatus = pVidPnInterface->pfnReleaseSourceModeSet(hVidPn, hVidPnModeSet);
    918932        Assert(tmpStatus == STATUS_SUCCESS);
     
    17521766        {
    17531767            WARN(("vboxVidPnCollectInfoForPathTarget failed Status(0x%x\n", Status));
     1768            VBoxVidPnDumpCofuncModalityInfo("Modality Info: ", enmPivot, pPivot, "\n");
    17541769            break;
    17551770        }
     
    17671782        {
    17681783            WARN(("vboxVidPnCollectInfoForPathSource failed Status(0x%x\n", Status));
     1784            VBoxVidPnDumpCofuncModalityInfo("Modality Info: ", enmPivot, pPivot, "\n");
    17691785            break;
    17701786        }
     
    17821798    {
    17831799        WARN(("PathIter failed Status()0x%x\n", Status));
     1800        VBoxVidPnDumpCofuncModalityInfo("Modality Info: ", enmPivot, pPivot, "\n");
    17841801        goto done;
    17851802    }
     
    18241841            {
    18251842                WARN(("pfnUpdatePathSupportInfo failed Status()0x%x\n", Status));
     1843                VBoxVidPnDumpCofuncModalityInfo("Modality Info: ", enmPivot, pPivot, "\n");
    18261844                goto done;
    18271845            }
     
    18401858        {
    18411859            WARN(("vboxVidPnApplyInfoForPathTarget failed Status(0x%x\n", Status));
     1860            VBoxVidPnDumpCofuncModalityInfo("Modality Info: ", enmPivot, pPivot, "\n");
    18421861            break;
    18431862        }
     
    18531872        {
    18541873            WARN(("vboxVidPnApplyInfoForPathSource failed Status(0x%x\n", Status));
     1874            VBoxVidPnDumpCofuncModalityInfo("Modality Info: ", enmPivot, pPivot, "\n");
    18551875            break;
    18561876        }
     
    18661886    {
    18671887        WARN(("PathIter failed Status()0x%x\n", Status));
     1888        VBoxVidPnDumpCofuncModalityInfo("Modality Info: ", enmPivot, pPivot, "\n");
    18681889        goto done;
    18691890    }
     
    24762497        VBOXVIDPNDUMP_STRCASE(D3DKMDT_CB_YCBCR);
    24772498        VBOXVIDPNDUMP_STRCASE(D3DKMDT_CB_YPBPR);
     2499        VBOXVIDPNDUMP_STRCASE_UNKNOWN();
     2500    }
     2501}
     2502
     2503const char * vboxVidPnDumpStrMonCapabilitiesOrigin(D3DKMDT_MONITOR_CAPABILITIES_ORIGIN enmOrigin)
     2504{
     2505    switch (enmOrigin)
     2506    {
     2507        VBOXVIDPNDUMP_STRCASE(D3DKMDT_MCO_UNINITIALIZED);
     2508        VBOXVIDPNDUMP_STRCASE(D3DKMDT_MCO_DEFAULTMONITORPROFILE);
     2509        VBOXVIDPNDUMP_STRCASE(D3DKMDT_MCO_MONITORDESCRIPTOR);
     2510        VBOXVIDPNDUMP_STRCASE(D3DKMDT_MCO_MONITORDESCRIPTOR_REGISTRYOVERRIDE);
     2511        VBOXVIDPNDUMP_STRCASE(D3DKMDT_MCO_SPECIFICCAP_REGISTRYOVERRIDE);
     2512        VBOXVIDPNDUMP_STRCASE(D3DKMDT_MCO_DRIVER);
    24782513        VBOXVIDPNDUMP_STRCASE_UNKNOWN();
    24792514    }
     
    27382773}
    27392774
    2740 void vboxVidPnDumpSourceMode(const char *pPrefix, const D3DKMDT_VIDPN_SOURCE_MODE* pVidPnSourceModeInfo, const char *pSuffix)
     2775void VBoxVidPnDumpSourceMode(const char *pPrefix, const D3DKMDT_VIDPN_SOURCE_MODE* pVidPnSourceModeInfo, const char *pSuffix)
    27412776{
    27422777    LOGREL_EXACT(("%sType(%s), ", pPrefix, vboxVidPnDumpStrSourceModeType(pVidPnSourceModeInfo->Type)));
     
    27582793}
    27592794
    2760 void vboxVidPnDumpTargetMode(const char *pPrefix, const D3DKMDT_VIDPN_TARGET_MODE* CONST  pVidPnTargetModeInfo, const char *pSuffix)
     2795void VBoxVidPnDumpTargetMode(const char *pPrefix, const D3DKMDT_VIDPN_TARGET_MODE* CONST  pVidPnTargetModeInfo, const char *pSuffix)
    27612796{
    27622797    LOGREL_EXACT(("%s", pPrefix));
     2798    LOGREL_EXACT(("ID: %d, ", pVidPnTargetModeInfo->Id));
    27632799    vboxVidPnDumpSignalInfo("VSI: ", &pVidPnTargetModeInfo->VideoSignalInfo, ", ");
    27642800    LOGREL_EXACT(("Preference(%s)%s", vboxVidPnDumpStrModePreference(pVidPnTargetModeInfo->Preference), pSuffix));
     2801}
     2802
     2803void VBoxVidPnDumpMonitorMode(const char *pPrefix, const D3DKMDT_MONITOR_SOURCE_MODE *pVidPnModeInfo, const char *pSuffix)
     2804{
     2805    LOGREL_EXACT(("%s", pPrefix));
     2806
     2807    LOGREL_EXACT(("ID: %d, ", pVidPnModeInfo->Id));
     2808
     2809    vboxVidPnDumpSignalInfo("VSI: ", &pVidPnModeInfo->VideoSignalInfo, ", ");
     2810
     2811    LOGREL_EXACT(("ColorBasis: %s, ", vboxVidPnDumpStrColorBasis(pVidPnModeInfo->ColorBasis)));
     2812
     2813    vboxVidPnDumpRanges("Ranges: ", &pVidPnModeInfo->ColorCoeffDynamicRanges, ", ");
     2814
     2815    LOGREL_EXACT(("MonCapOr: %s, ", vboxVidPnDumpStrMonCapabilitiesOrigin(pVidPnModeInfo->Origin)));
     2816
     2817    LOGREL_EXACT(("Preference(%s)%s", vboxVidPnDumpStrModePreference(pVidPnModeInfo->Preference), pSuffix));
     2818}
     2819
     2820NTSTATUS VBoxVidPnDumpMonitorModeSet(const char *pPrefix, PVBOXMP_DEVEXT pDevExt, uint32_t u32Target, const char *pSuffix)
     2821{
     2822    LOGREL_EXACT(("%s Tgt[%d]\n", pPrefix, u32Target));
     2823
     2824    NTSTATUS Status;
     2825    CONST DXGK_MONITOR_INTERFACE *pMonitorInterface;
     2826    Status = pDevExt->u.primary.DxgkInterface.DxgkCbQueryMonitorInterface(pDevExt->u.primary.DxgkInterface.DeviceHandle, DXGK_MONITOR_INTERFACE_VERSION_V1, &pMonitorInterface);
     2827    if (!NT_SUCCESS(Status))
     2828    {
     2829        WARN(("DxgkCbQueryMonitorInterface failed, Status()0x%x", Status));
     2830        return Status;
     2831    }
     2832
     2833    D3DKMDT_HMONITORSOURCEMODESET hVidPnModeSet;
     2834    CONST DXGK_MONITORSOURCEMODESET_INTERFACE *pVidPnModeSetInterface;
     2835
     2836    Status = pMonitorInterface->pfnAcquireMonitorSourceModeSet(pDevExt->u.primary.DxgkInterface.DeviceHandle,
     2837                                        u32Target,
     2838                                        &hVidPnModeSet,
     2839                                        &pVidPnModeSetInterface);
     2840    if (!NT_SUCCESS(Status))
     2841    {
     2842        WARN(("DxgkCbQueryMonitorInterface failed, Status()0x%x", Status));
     2843        return Status;
     2844    }
     2845
     2846    VBOXVIDPN_MONITORMODE_ITER Iter;
     2847    const D3DKMDT_MONITOR_SOURCE_MODE *pVidPnModeInfo;
     2848
     2849    VBoxVidPnMonitorModeIterInit(&Iter, hVidPnModeSet, pVidPnModeSetInterface);
     2850
     2851    while ((pVidPnModeInfo = VBoxVidPnMonitorModeIterNext(&Iter)) != NULL)
     2852    {
     2853        VBoxVidPnDumpMonitorMode("MonitorMode: ",pVidPnModeInfo, "\n");
     2854    }
     2855
     2856    VBoxVidPnMonitorModeIterTerm(&Iter);
     2857
     2858    Status = VBoxVidPnMonitorModeIterStatus(&Iter);
     2859    if (!NT_SUCCESS(Status))
     2860    {
     2861        WARN(("iter status failed %#x", Status));
     2862    }
     2863
     2864    NTSTATUS tmpStatus = pMonitorInterface->pfnReleaseMonitorSourceModeSet(pDevExt->u.primary.DxgkInterface.DeviceHandle, hVidPnModeSet);
     2865    if (!NT_SUCCESS(tmpStatus))
     2866        WARN(("pfnReleaseMonitorSourceModeSet failed tmpStatus(0x%x)", tmpStatus));
     2867
     2868    LOGREL_EXACT(("%s", pSuffix));
     2869
     2870    return Status;
    27652871}
    27662872
     
    27832889        if (Status == STATUS_SUCCESS)
    27842890        {
    2785             vboxVidPnDumpSourceMode("Source Pinned: ", pPinnedVidPnSourceModeInfo, "\n");
     2891            VBoxVidPnDumpSourceMode("Source Pinned: ", pPinnedVidPnSourceModeInfo, "\n");
    27862892            pCurVidPnSourceModeSetInterface->pfnReleaseModeInfo(hCurVidPnSourceModeSet, pPinnedVidPnSourceModeInfo);
    27872893        }
     
    28062912        const D3DKMDT_VIDPN_SOURCE_MODE *pNewVidPnSourceModeInfo, PVOID pContext)
    28072913{
    2808     vboxVidPnDumpSourceMode("SourceMode: ", pNewVidPnSourceModeInfo, "\n");
     2914    VBoxVidPnDumpSourceMode("SourceMode: ", pNewVidPnSourceModeInfo, "\n");
    28092915    return TRUE;
    28102916}
     
    28442950        const D3DKMDT_VIDPN_TARGET_MODE *pNewVidPnTargetModeInfo, PVOID pContext)
    28452951{
    2846     vboxVidPnDumpTargetMode("TargetMode: ", pNewVidPnTargetModeInfo, "\n");
     2952    VBoxVidPnDumpTargetMode("TargetMode: ", pNewVidPnTargetModeInfo, "\n");
    28472953    return TRUE;
    28482954}
     
    28983004        if (Status == STATUS_SUCCESS)
    28993005        {
    2900             vboxVidPnDumpTargetMode("Target Pinned: ", pPinnedVidPnTargetModeInfo, "\n");
     3006            VBoxVidPnDumpTargetMode("Target Pinned: ", pPinnedVidPnTargetModeInfo, "\n");
    29013007            pCurVidPnTargetModeSetInterface->pfnReleaseModeInfo(hCurVidPnTargetModeSet, pPinnedVidPnTargetModeInfo);
    29023008        }
     
    29153021        LOGREL_EXACT(("ERROR getting TargetModeSet(0x%x)\n", Status));
    29163022    }
     3023}
     3024
     3025void VBoxVidPnDumpCofuncModalityInfo(const char *pPrefix, D3DKMDT_ENUMCOFUNCMODALITY_PIVOT_TYPE enmEnumPivotType, const DXGK_ENUM_PIVOT *pPivot, const char *pSuffix)
     3026{
     3027    LOGREL_EXACT(("%sPivotType(%s), SourceId(0x%x), TargetId(0x%x),%s", pPrefix, vboxVidPnDumpStrCFMPivotType(enmEnumPivotType),
     3028            pPivot->VidPnSourceId, pPivot->VidPnTargetId, pSuffix));
    29173029}
    29183030
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVidPn.h

    r52348 r52631  
    9696        PFNVBOXVIDPNENUMTARGETSFORSOURCE pfnCallback, PVOID pContext);
    9797
     98void VBoxVidPnDumpTargetMode(const char *pPrefix, const D3DKMDT_VIDPN_TARGET_MODE* CONST  pVidPnTargetModeInfo, const char *pSuffix);
     99void VBoxVidPnDumpMonitorMode(const char *pPrefix, const D3DKMDT_MONITOR_SOURCE_MODE *pVidPnModeInfo, const char *pSuffix);
     100NTSTATUS VBoxVidPnDumpMonitorModeSet(const char *pPrefix, PVBOXMP_DEVEXT pDevExt, uint32_t u32Target, const char *pSuffix);
     101void VBoxVidPnDumpSourceMode(const char *pPrefix, const D3DKMDT_VIDPN_SOURCE_MODE* pVidPnSourceModeInfo, const char *pSuffix);
     102void VBoxVidPnDumpCofuncModalityInfo(const char *pPrefix, D3DKMDT_ENUMCOFUNCMODALITY_PIVOT_TYPE enmEnumPivotType, const DXGK_ENUM_PIVOT *pPivot, const char *pSuffix);
     103
    98104void vboxVidPnDumpVidPn(const char * pPrefix, PVBOXMP_DEVEXT pDevExt, D3DKMDT_HVIDPN hVidPn, const DXGK_VIDPN_INTERFACE* pVidPnInterface, const char * pSuffix);
    99105void vboxVidPnDumpCofuncModalityArg(const char *pPrefix, CONST DXGKARG_ENUMVIDPNCOFUNCMODALITY* CONST  pEnumCofuncModalityArg, const char *pSuffix);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette