VirtualBox

source: vbox/trunk/src/VBox/Additions/3D/win/include/VBoxGaHwSVGA.h

Last change on this file was 98103, checked in by vboxsync, 17 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 KB
Line 
1/* $Id: VBoxGaHwSVGA.h 98103 2023-01-17 14:15:46Z vboxsync $ */
2/** @file
3 * VirtualBox Windows Guest Mesa3D - Gallium driver interface.
4 */
5
6/*
7 * Copyright (C) 2016-2023 Oracle and/or its affiliates.
8 *
9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * SPDX-License-Identifier: GPL-3.0-only
26 */
27
28#ifndef GA_INCLUDED_3D_WIN_VBoxGaHwSVGA_h
29#define GA_INCLUDED_3D_WIN_VBoxGaHwSVGA_h
30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
33
34#include <iprt/types.h>
35
36/*
37 * VBOXGAHWINFOSVGA contains information about the virtual hardware, which is neede dy the user mode
38 * Gallium driver. The driver can not query the info at the initialization time, therefore
39 * we send the complete info to the driver.
40 *
41 * Since both FIFO and SVGA_REG_ are expanded over time, we reserve some space.
42 * The Gallium user mode driver can figure out which part of au32Regs and au32Fifo
43 * is valid from the raw data.
44 *
45 * VBOXGAHWINFOSVGA struct goes both to 32 and 64 bit user mode binaries, take care of alignment.
46 */
47#pragma pack(1)
48typedef struct VBOXGAHWINFOSVGA
49{
50 uint32_t cbInfoSVGA;
51
52 /* Copy of SVGA_REG_*, up to 256, currently 58 are used. */
53 uint32_t au32Regs[256];
54
55 /* Copy of FIFO registers, up to 1024, currently 290 are used. */
56 uint32_t au32Fifo[1024];
57
58 /* Currently SVGA has 260 caps, 512 should be ok for near future.
59 * This is a copy of SVGA3D_DEVCAP_* values returned by the host.
60 * Only valid if SVGA_CAP_GBOBJECTS is set in SVGA_REG_CAPABILITIES.
61 */
62 uint32_t au32Caps[512];
63} VBOXGAHWINFOSVGA;
64#pragma pack()
65
66#endif /* !GA_INCLUDED_3D_WIN_VBoxGaHwSVGA_h */
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use