VirtualBox

Ignore:
Timestamp:
May 19, 2023 5:31:17 PM (20 months ago)
Author:
vboxsync
Message:

VMSVGA: Avoid recursive acquision of spinlock while processing QueuePending, bugref:10440

File:
1 edited

Legend:

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

    r99833 r99862  
    462462}
    463463
     464static void svgaCBSubmitHeaderLocked(PVBOXWDDM_EXT_VMSVGA pSvga, PHYSICAL_ADDRESS CBHeaderPhysAddr, SVGACBContext CBContext)
     465{
     466    RT_NOREF(pSvga);
     467
     468    SVGARegWrite(pSvga, SVGA_REG_COMMAND_HIGH, CBHeaderPhysAddr.HighPart);
     469    SVGARegWrite(pSvga, SVGA_REG_COMMAND_LOW, CBHeaderPhysAddr.LowPart | CBContext);
     470}
     471
    464472static void svgaCBSubmitHeader(PVBOXWDDM_EXT_VMSVGA pSvga, PHYSICAL_ADDRESS CBHeaderPhysAddr, SVGACBContext CBContext)
    465473{
     
    820828            RTListAppend(&pCBCtx->QueueSubmitted, &pCB->nodeQueue);
    821829            ++pCBCtx->cSubmitted;
    822             svgaCBSubmitHeader(pSvga, pCB->CBHeaderPhysAddr, (SVGACBContext)i);
     830            svgaCBSubmitHeaderLocked(pSvga, pCB->CBHeaderPhysAddr, (SVGACBContext)i);
    823831            GALOG(("Submitted pending %p\n", pCB));
    824832        }
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