Changeset 83374 in vbox
- Timestamp:
- Mar 23, 2020 5:14:57 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 136582
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
r83354 r83374 3560 3560 3561 3561 3562 /** 3563 * Called by the FIFO thread to process pending actions. 3564 * 3565 * @param pDevIns The device instance. 3566 * @param pThis The shared VGA/VMSVGA instance data. 3567 * @param pThisCC The VGA/VMSVGA state for ring-3. 3568 */ 3569 void vmsvgaR3FifoPendingActions(PPDMDEVINS pDevIns, PVGASTATE pThis, PVGASTATECC pThisCC) 3570 { 3571 RT_NOREF(pDevIns); 3572 3573 /* Currently just mode changes. */ 3574 if (ASMBitTestAndClear(&pThis->svga.u32ActionFlags, VMSVGA_ACTION_CHANGEMODE_BIT)) 3575 { 3576 vmsvgaR3ChangeMode(pThis, pThisCC); 3577 # ifdef VBOX_WITH_VMSVGA3D 3578 if (pThisCC->svga.p3dState != NULL) 3579 vmsvga3dChangeMode(pThisCC); 3580 # endif 3581 } 3582 } 3583 3584 3562 3585 /* 3563 3586 * These two macros are put outside vmsvgaR3FifoLoop because doxygen gets confused, … … 3686 3709 vmsvga3dCocoaServiceRunLoop(); 3687 3710 # endif 3711 3712 /* First check any pending actions. */ 3713 vmsvgaR3FifoPendingActions(pDevIns, pThis, pThisCC); 3688 3714 3689 3715 /* … … 3835 3861 3836 3862 /* First check any pending actions. */ 3837 if (ASMBitTestAndClear(&pThis->svga.u32ActionFlags, VMSVGA_ACTION_CHANGEMODE_BIT)) 3838 { 3839 vmsvgaR3ChangeMode(pThis, pThisCC); 3840 # ifdef VBOX_WITH_VMSVGA3D 3841 if (pThisCC->svga.p3dState != NULL) 3842 vmsvga3dChangeMode(pThisCC); 3843 # endif 3844 } 3863 vmsvgaR3FifoPendingActions(pDevIns, pThis, pThisCC); 3845 3864 3846 3865 /* Check for pending external commands (reset). */ … … 6014 6033 PVMSVGAR3STATE pSVGAState = pThisCC->svga.pSvgaR3State; 6015 6034 6016 ASMAtomicOrU32(&pThis->svga.u32ActionFlags, VMSVGA_ACTION_CHANGEMODE);6017 6018 6035 /* Set the active cursor. */ 6019 6036 if (pSVGAState->Cursor.fActive) … … 6045 6062 vgaR3UnregisterVRAMHandler(pDevIns, pThis); 6046 6063 } 6064 6065 /* Let the FIFO thread deal with changing the mode. */ 6066 ASMAtomicOrU32(&pThis->svga.u32ActionFlags, VMSVGA_ACTION_CHANGEMODE); 6047 6067 6048 6068 return VINF_SUCCESS;
Note:
See TracChangeset
for help on using the changeset viewer.