Changeset 68848 in vbox for trunk/include
- Timestamp:
- Sep 24, 2017 4:58:46 PM (7 years ago)
- Location:
- trunk/include/VBox/Graphics
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/Graphics/HGSMIChSetup.h
r68672 r68848 31 31 32 32 /* HGSMI setup and configuration channel commands and data structures. */ 33 #define HGSMI_CC_HOST_FLAGS_LOCATION 0 /* Tell the host the location of HGSMIHOSTFLAGS structure, 34 * where the host can write information about pending 35 * buffers, etc, and which can be quickly polled by 36 * the guest without a need to port IO. 37 */ 33 /* 34 * Tell the host the location of hgsmi_host_flags structure, where the host 35 * can write information about pending buffers, etc, and which can be quickly 36 * polled by the guest without a need to port IO. 37 */ 38 #define HGSMI_CC_HOST_FLAGS_LOCATION 0 38 39 39 40 typedef struct HGSMIBUFFERLOCATION … … 46 47 /* HGSMI setup and configuration data structures. */ 47 48 /* host->guest commands pending, should be accessed under FIFO lock only */ 48 #define HGSMIHOSTFLAGS_COMMANDS_PENDING UINT32_C(0x 1)49 #define HGSMIHOSTFLAGS_COMMANDS_PENDING UINT32_C(0x01) 49 50 /* IRQ is fired, should be accessed under VGAState::lock only */ 50 #define HGSMIHOSTFLAGS_IRQ UINT32_C(0x 2)51 #define HGSMIHOSTFLAGS_IRQ UINT32_C(0x02) 51 52 #ifdef VBOX_WITH_WDDM 52 53 /* one or more guest commands is completed, should be accessed under FIFO lock only */ 53 # define HGSMIHOSTFLAGS_GCOMMAND_COMPLETED UINT32_C(0x 4)54 # define HGSMIHOSTFLAGS_GCOMMAND_COMPLETED UINT32_C(0x04) 54 55 /* watchdog timer interrupt flag (used for debugging), should be accessed under VGAState::lock only */ 55 # define HGSMIHOSTFLAGS_WATCHDOG UINT32_C(0x 8)56 # define HGSMIHOSTFLAGS_WATCHDOG UINT32_C(0x08) 56 57 #endif 57 58 /* vsync interrupt flag, should be accessed under VGAState::lock only */ … … 59 60 /** monitor hotplug flag, should be accessed under VGAState::lock only */ 60 61 #define HGSMIHOSTFLAGS_HOTPLUG UINT32_C(0x20) 61 /** Cursor capability state change flag, should be accessed under 62 * VGAState::lock only. @see VBVACONF32. */ 62 /** 63 * Cursor capability state change flag, should be accessed under 64 * VGAState::lock only. @see VBVACONF32. 65 */ 63 66 #define HGSMIHOSTFLAGS_CURSOR_CAPABILITIES UINT32_C(0x40) 64 67 65 68 typedef struct HGSMIHOSTFLAGS 66 69 { 67 /* host flags can be accessed and modified in multiple threads concurrently, 68 * e.g. CrOpenGL HGCM and GUI threads when to completing HGSMI 3D and Video Accel respectively, 69 * EMT thread when dealing with HGSMI command processing, etc. 70 * Besides settings/cleaning flags atomically, some each flag has its own special sync restrictions, 71 * see commants for flags definitions above */ 70 /* 71 * Host flags can be accessed and modified in multiple threads 72 * concurrently, e.g. CrOpenGL HGCM and GUI threads when completing 73 * HGSMI 3D and Video Accel respectively, EMT thread when dealing with 74 * HGSMI command processing, etc. 75 * Besides settings/cleaning flags atomically, some flags have their 76 * own special sync restrictions, see comments for flags above. 77 */ 72 78 volatile uint32_t u32HostFlags; 73 79 uint32_t au32Reserved[3]; … … 76 82 77 83 #endif 78 -
trunk/include/VBox/Graphics/HGSMIChannels.h
r66544 r68848 33 33 34 34 35 /* Each channel has an 8 bit identifier. There are a number of predefined 35 /* 36 * Each channel has an 8 bit identifier. There are a number of predefined 36 37 * (hardcoded) channels. 37 38 * … … 39 40 * to a free 16 bit numerical value. values are allocated in range 40 41 * [HGSMI_CH_STRING_FIRST;HGSMI_CH_STRING_LAST]. 41 *42 42 */ 43 43 44 44 45 45 /* Predefined channel identifiers. Used internally by VBOX to simplify the channel setup. */ 46 #define HGSMI_CH_RESERVED (0x00) /* A reserved channel value. */ 47 48 #define HGSMI_CH_HGSMI (0x01) /* HGCMI: setup and configuration channel. */ 49 50 #define HGSMI_CH_VBVA (0x02) /* Graphics: VBVA. */ 51 #define HGSMI_CH_SEAMLESS (0x03) /* Graphics: Seamless with a single guest region. */ 52 #define HGSMI_CH_SEAMLESS2 (0x04) /* Graphics: Seamless with separate host windows. */ 53 #define HGSMI_CH_OPENGL (0x05) /* Graphics: OpenGL HW acceleration. */ 46 /* A reserved channel value */ 47 #define HGSMI_CH_RESERVED 0x00 48 /* HGCMI: setup and configuration */ 49 #define HGSMI_CH_HGSMI 0x01 50 /* Graphics: VBVA */ 51 #define HGSMI_CH_VBVA 0x02 52 /* Graphics: Seamless with a single guest region */ 53 #define HGSMI_CH_SEAMLESS 0x03 54 /* Graphics: Seamless with separate host windows */ 55 #define HGSMI_CH_SEAMLESS2 0x04 56 /* Graphics: OpenGL HW acceleration */ 57 #define HGSMI_CH_OPENGL 0x05 54 58 55 59 56 60 /* Dynamically allocated channel identifiers. */ 57 #define HGSMI_CH_STRING_FIRST (0x20) /* The first channel index to be used for string mappings (inclusive). */ 58 #define HGSMI_CH_STRING_LAST (0xff) /* The last channel index for string mappings (inclusive). */ 61 /* The first channel index to be used for string mappings (inclusive) */ 62 #define HGSMI_CH_STRING_FIRST 0x20 63 /* The last channel index for string mappings (inclusive) */ 64 #define HGSMI_CH_STRING_LAST 0xff 59 65 60 66 61 /* Check whether the channel identifier is allocated for a dynamic channel .*/67 /* Check whether the channel identifier is allocated for a dynamic channel */ 62 68 #define HGSMI_IS_DYNAMIC_CHANNEL(_channel) (((uint8_t)(_channel) & 0xE0) != 0) 63 69 -
trunk/include/VBox/Graphics/VBoxVideoGuest.h
r68672 r68848 29 29 #define ___VBox_Graphics_VBoxVideoGuest_h___ 30 30 31 #include "VBoxVideoIPRT.h" 31 32 #include "HGSMIBase.h" 32 33 #include "VBoxVideo.h" 33 #include "VBoxVideoIPRT.h"34 34 35 35 RT_C_DECLS_BEGIN
Note:
See TracChangeset
for help on using the changeset viewer.