Changeset 19844 in vbox for trunk/include/VBox
- Timestamp:
- May 19, 2009 11:12:55 PM (16 years ago)
- Location:
- trunk/include/VBox
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxVideo.h
r19464 r19844 252 252 #pragma pack() 253 253 254 # ifdef VBOX_WITH_VIDEOHWACCEL 255 #pragma pack(1) 256 257 typedef enum 258 { 259 VBOXVHWACMD_TYPE_SURF_CREATE = 1, 260 VBOXVHWACMD_TYPE_SURF_DESTROY 261 } VBOXVHWACMD_TYPE; 262 263 typedef struct _VBOXVHWACMD 264 { 265 VBOXVHWACMD_TYPE enmCmd; /* command type */ 266 int32_t rc; /* command result */ 267 int32_t iDisplay; /* display index */ 268 int32_t Reserved; /* reserved, must be null*/ 269 char body[1]; 270 } VBOXVHWACMD; 271 272 #define VBOXVHWACMD_SIZE(_tCmd) (RT_OFFSETOF(VBOXVHWACMD_HDR, body) + sizeof(_tCmd)) 273 typedef unsigned int VBOXVHWACMD_LENGTH; 274 typedef uint64_t VBOXVHWA_SURFHANDLE; 275 #define VBOXVHWACMD_SURFHANDLE_INVALID 0 276 #define VBOXVHWACMD_BODY(_p, _t) ((_t*)(_p)->body) 277 278 typedef struct _VBOXVHWA_RECTL 279 { 280 int16_t x; 281 int16_t y; 282 uint16_t w; 283 uint16_t h; 284 } VBOXVHWA_RECTL; 285 286 #define VBOXVHWASURF_PRIMARY 0x00000001 287 #define VBOXVHWASURF_OVERLAY 0x00000002 288 289 typedef struct _VBOXVHWA_SURFINFO 290 { 291 uint32_t surfChars; 292 VBOXVHWA_RECTL rectl; 293 } VBOXVHWA_SURFINFO; 294 295 typedef struct _VBOXVHWACMD_SURF_CREATE 296 { 297 union 298 { 299 struct 300 { 301 VBOXVHWA_SURFINFO SurfInfo; 302 } in; 303 304 struct 305 { 306 VBOXVHWA_SURFHANDLE hSurf; 307 } out; 308 } u; 309 } VBOXVHWACMD_SURF_CREATE; 310 311 typedef struct _VBOXVHWACMD_SURF_DESTROY 312 { 313 union 314 { 315 struct 316 { 317 VBOXVHWA_SURFHANDLE hSurf; 318 } in; 319 } u; 320 } VBOXVHWACMD_SURF_DESTROY; 321 #pragma pack() 322 # endif /* #ifdef VBOX_WITH_VIDEOHWACCEL */ 323 254 324 #ifdef VBOX_WITH_HGSMI 255 325 … … 279 349 } VBVABUFFER; 280 350 281 351 /* guest->host commands */ 282 352 #define VBVA_QUERY_CONF32 1 283 353 #define VBVA_SET_CONF32 2 … … 288 358 #define VBVA_ENABLE 7 289 359 #define VBVA_MOUSE_POINTER_SHAPE 8 290 # ifdef VBOX_WITH_VIDEOHWACCEL360 # ifdef VBOX_WITH_VIDEOHWACCEL 291 361 # define VBVA_INFO_VHWA 9 292 362 # define VBVA_VHWA_CMD 10 293 294 typedef enum 295 { 296 VBVAVHWACMD_TYPE_SURF_CREATE = 1, 297 VBVAVHWACMD_TYPE_SURF_DESTROY 298 } VBVAVHWACMD_TYPE; 299 300 typedef struct _VBVAVHWACMD_HDR 301 { 302 VBVAVHWACMD_TYPE enmCmd; 363 # endif /* # ifdef VBOX_WITH_VIDEOHWACCEL */ 364 365 /* host->guest commands */ 366 # ifdef VBOX_WITH_VIDEOHWACCEL 367 # define VBVAHG_VHWA_CMDCOMPLETE 1 368 369 typedef struct _VBVAHOSTCMDVHWACMDCOMPLETE 370 { 371 uint32_t offCmd; 372 }VBVAHOSTCMDVHWACMDCOMPLETE; 373 # endif /* # ifdef VBOX_WITH_VIDEOHWACCEL */ 374 375 #pragma pack(1) 376 typedef struct _VBVAHOSTCMD 377 { 378 /* destination ID if >=0 specifies display index, otherwize the command is directed to the miniport */ 379 int32_t iDstID; 380 uint32_t Reserved; 303 381 char body[1]; 304 } VBVAVHWACMD_HDR; 305 306 #define VBVAVHWACMD_SIZE(_tCmd) (RT_OFFSETOF(VBVAVHWACMD_HDR, body) + sizeof(_tCmd)) 307 typedef unsigned int VBVAVHWACMD_LENGTH; 308 typedef uint64_t VBVAVHWA_SURFHANDLE; 309 #define VBVAVHWA_SURFHANDLE_INVALID 0 310 #define VBVAVHWACMD_BODY(_p, _t) ((_t*)(_p)->body) 311 312 typedef struct _VBVAVHWA_RECTL 313 { 314 int16_t x; 315 int16_t y; 316 uint16_t w; 317 uint16_t h; 318 } VBVAVHWA_RECTL; 319 320 #define VBVAVHWASURF_PRIMARY 0x00000001 321 #define VBVAVHWASURF_OVERLAY 0x00000002 322 323 typedef struct _VBVAVHWA_SURFINFO 324 { 325 uint32_t surfChars; 326 VBVAVHWA_RECTL rectl; 327 } VBVAVHWA_SURFINFO; 328 329 typedef struct _VBVAVHWACMD_SURF_CREATE 330 { 331 union 332 { 333 struct 334 { 335 VBVAVHWA_SURFINFO SurfInfo; 336 } in; 337 338 struct 339 { 340 int rc; 341 VBVAVHWA_SURFHANDLE hSurf; 342 } out; 343 } u; 344 } VBVAVHWACMD_SURF_CREATE; 345 346 typedef struct _VBVAVHWACMD_SURF_DESTROY 347 { 348 union 349 { 350 struct 351 { 352 VBVAVHWA_SURFHANDLE hSurf; 353 } in; 354 355 struct 356 { 357 int rc; 358 } out; 359 } u; 360 } VBVAVHWACMD_SURF_DESTROY; 361 362 #endif 363 382 }VBVAHOSTCMD; 383 384 #define VBVAHOSTCMD_SIZE(_size) (sizeof(VBVAHOSTCMD) + (_size)) 385 #define VBVAHOSTCMD_BODY(_pCmd, _tBody) ((_tBody*)(_pCmd)->body) 386 #define VBVAHOSTCMD_HDR(_pBody) ((VBVAHOSTCMD*)(((uint8_t*)_pBody) - RT_OFFSETOF(VBVAHOSTCMD, body))) 387 #define VBVAHOSTCMD_HDRSIZE (RT_OFFSETOF(VBVAHOSTCMD, body)) 388 389 #pragma pack() 364 390 365 391 /* VBVACONF32::u32Index */ -
trunk/include/VBox/err.h
r19478 r19844 1372 1372 /** @} */ 1373 1373 1374 /** @name VBox Video HW Acceleration command status 1375 * @{ 1376 */ 1377 /** command processing is pending, a completion handler will be called */ 1378 #define VINF_VHWA_CMD_PENDING 4500 1379 1380 /** @} */ 1381 1374 1382 /* SED-END */ 1375 1383 -
trunk/include/VBox/pdmifs.h
r18434 r19844 167 167 /** PDMISCSICONNECTOR - The SCSI command execution connector interface (Up) Coupled with PDMINTERFACE_SCSI_PORT. */ 168 168 PDMINTERFACE_SCSI_CONNECTOR, 169 /** PDMDDISPLAYVBVACALLBACKS - The Display VBVA call-backs */ 170 PDMINTERFACE_DISPLAY_VBVA_CALLBACKS, 169 171 170 172 /** Maximum interface number. */ … … 425 427 } PDMIDISPLAYPORT; 426 428 429 typedef struct _VBOXVHWACMD *PVBOXVHWACMD; 427 430 428 431 /** Pointer to a display connector interface. */ … … 526 529 DECLR3CALLBACKMEMBER(void, pfnProcessDisplayData, (PPDMIDISPLAYCONNECTOR pInterface, void *pvVRAM, unsigned uScreenId)); 527 530 531 /** 532 * Process the guest Video HW Acceleration command. 533 * 534 * @param pInterface Pointer to this interface. 535 * @param pCmd Video HW Acceleration Command to be processed. 536 * @thread The emulation thread. 537 */ 538 DECLR3CALLBACKMEMBER(void, pfnVHWACommandProcess, (PPDMIDISPLAYCONNECTOR pInterface, PVBOXVHWACMD pCmd)); 528 539 529 540 /** Read-only attributes. … … 2587 2598 2588 2599 } PDMISCSICONNECTOR; 2600 2601 typedef struct PDMDDISPLAYVBVACALLBACKS *PPDMDDISPLAYVBVACALLBACKS; 2602 /** 2603 * Display VBVA callbacks 2604 */ 2605 typedef struct PDMDDISPLAYVBVACALLBACKS 2606 { 2607 /** 2608 * Informs guest about completion of processing the given Video HW Acceleration command, 2609 * does not wait for the guest to process the command 2610 */ 2611 DECLR3CALLBACKMEMBER(int, pfnVHWACommandCompleteAsynch, (PPDMDDISPLAYVBVACALLBACKS pInterface, PVBOXVHWACMD pCmd)); 2612 }PDMDDISPLAYVBVACALLBACKS; 2613 2589 2614 /** @} */ 2590 2615
Note:
See TracChangeset
for help on using the changeset viewer.