VirtualBox

Changeset 86885 in vbox


Ignore:
Timestamp:
Nov 14, 2020 1:44:16 AM (4 years ago)
Author:
vboxsync
Message:

Devices/Graphics: Stubs for some new commands. bugref:9830

Location:
trunk/src/VBox/Devices/Graphics
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA-cmd.cpp

    r86855 r86885  
    3232
    3333/* Should be included after DevVGA.h/DevVGA-SVGA.h to pick all defines. */
    34 #include "DevVGA-SVGA-internal.h"
    3534#ifdef VBOX_WITH_VMSVGA3D
    3635# include "DevVGA-SVGA3d.h"
    3736#endif
     37#include "DevVGA-SVGA-internal.h"
    3838
    3939#ifdef DUMP_BITMAPS
     
    304304    return VERR_NOT_IMPLEMENTED;
    305305}
     306
     307int vmsvga3dQueryInterface(PVGASTATECC pThisCC, char const *pszInterfaceName, void *pvInterfaceFuncs, size_t cbInterfaceFuncs)
     308{
     309    RT_NOREF(pThisCC, pszInterfaceName, pvInterfaceFuncs, cbInterfaceFuncs);
     310    return VERR_NOT_IMPLEMENTED;
     311}
    306312# endif
    307313#endif
     
    15391545
    15401546
     1547/* SVGA_3D_CMD_DX_DEFINE_CONTEXT 1143 */
     1548static void vmsvga3dCmdDXDefineContext(PVGASTATECC pThisCC, SVGA3dCmdDXDefineContext const *pCmd)
     1549{
     1550ASMBreakpoint();
     1551    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1552    if (pSvgaR3State->pFuncsDX)
     1553    {
     1554        RT_NOREF(pCmd);
     1555        pSvgaR3State->pFuncsDX->pfnDXDefineContext(pThisCC->svga.p3dState);
     1556    }
     1557}
     1558
     1559
     1560/* SVGA_3D_CMD_DX_DESTROY_CONTEXT 1144 */
     1561static void vmsvga3dCmdDXDestroyContext(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyContext const *pCmd)
     1562{
     1563ASMBreakpoint();
     1564    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1565    if (pSvgaR3State->pFuncsDX)
     1566    {
     1567        RT_NOREF(pCmd);
     1568        pSvgaR3State->pFuncsDX->pfnDXDestroyContext(pThisCC->svga.p3dState);
     1569    }
     1570}
     1571
     1572
     1573/* SVGA_3D_CMD_DX_BIND_CONTEXT 1145 */
     1574static void vmsvga3dCmdDXBindContext(PVGASTATECC pThisCC, SVGA3dCmdDXBindContext const *pCmd)
     1575{
     1576ASMBreakpoint();
     1577    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1578    if (pSvgaR3State->pFuncsDX)
     1579    {
     1580        RT_NOREF(pCmd);
     1581        pSvgaR3State->pFuncsDX->pfnDXBindContext(pThisCC->svga.p3dState);
     1582    }
     1583}
     1584
     1585
     1586/* SVGA_3D_CMD_DX_READBACK_CONTEXT 1146 */
     1587static void vmsvga3dCmdDXReadbackContext(PVGASTATECC pThisCC, SVGA3dCmdDXReadbackContext const *pCmd)
     1588{
     1589ASMBreakpoint();
     1590    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1591    if (pSvgaR3State->pFuncsDX)
     1592    {
     1593        RT_NOREF(pCmd);
     1594        pSvgaR3State->pFuncsDX->pfnDXReadbackContext(pThisCC->svga.p3dState);
     1595    }
     1596}
     1597
     1598
     1599/* SVGA_3D_CMD_DX_INVALIDATE_CONTEXT 1147 */
     1600static void vmsvga3dCmdDXInvalidateContext(PVGASTATECC pThisCC, SVGA3dCmdDXInvalidateContext const *pCmd)
     1601{
     1602ASMBreakpoint();
     1603    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1604    if (pSvgaR3State->pFuncsDX)
     1605    {
     1606        RT_NOREF(pCmd);
     1607        pSvgaR3State->pFuncsDX->pfnDXInvalidateContext(pThisCC->svga.p3dState);
     1608    }
     1609}
     1610
     1611
     1612/* SVGA_3D_CMD_DX_SET_SINGLE_CONSTANT_BUFFER 1148 */
     1613static void vmsvga3dCmdDXSetSingleConstantBuffer(PVGASTATECC pThisCC, SVGA3dCmdDXSetSingleConstantBuffer const *pCmd)
     1614{
     1615ASMBreakpoint();
     1616    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1617    if (pSvgaR3State->pFuncsDX)
     1618    {
     1619        RT_NOREF(pCmd);
     1620        pSvgaR3State->pFuncsDX->pfnDXSetSingleConstantBuffer(pThisCC->svga.p3dState);
     1621    }
     1622}
     1623
     1624
     1625/* SVGA_3D_CMD_DX_SET_SHADER_RESOURCES 1149 */
     1626static void vmsvga3dCmdDXSetShaderResources(PVGASTATECC pThisCC, SVGA3dCmdDXSetShaderResources const *pCmd)
     1627{
     1628ASMBreakpoint();
     1629    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1630    if (pSvgaR3State->pFuncsDX)
     1631    {
     1632        RT_NOREF(pCmd);
     1633        pSvgaR3State->pFuncsDX->pfnDXSetShaderResources(pThisCC->svga.p3dState);
     1634    }
     1635}
     1636
     1637
     1638/* SVGA_3D_CMD_DX_SET_SHADER 1150 */
     1639static void vmsvga3dCmdDXSetShader(PVGASTATECC pThisCC, SVGA3dCmdDXSetShader const *pCmd)
     1640{
     1641ASMBreakpoint();
     1642    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1643    if (pSvgaR3State->pFuncsDX)
     1644    {
     1645        RT_NOREF(pCmd);
     1646        pSvgaR3State->pFuncsDX->pfnDXSetShader(pThisCC->svga.p3dState);
     1647    }
     1648}
     1649
     1650
     1651/* SVGA_3D_CMD_DX_SET_SAMPLERS 1151 */
     1652static void vmsvga3dCmdDXSetSamplers(PVGASTATECC pThisCC, SVGA3dCmdDXSetSamplers const *pCmd)
     1653{
     1654ASMBreakpoint();
     1655    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1656    if (pSvgaR3State->pFuncsDX)
     1657    {
     1658        RT_NOREF(pCmd);
     1659        pSvgaR3State->pFuncsDX->pfnDXSetSamplers(pThisCC->svga.p3dState);
     1660    }
     1661}
     1662
     1663
     1664/* SVGA_3D_CMD_DX_DRAW 1152 */
     1665static void vmsvga3dCmdDXDraw(PVGASTATECC pThisCC, SVGA3dCmdDXDraw const *pCmd)
     1666{
     1667ASMBreakpoint();
     1668    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1669    if (pSvgaR3State->pFuncsDX)
     1670    {
     1671        RT_NOREF(pCmd);
     1672        pSvgaR3State->pFuncsDX->pfnDXDraw(pThisCC->svga.p3dState);
     1673    }
     1674}
     1675
     1676
     1677/* SVGA_3D_CMD_DX_DRAW_INDEXED 1153 */
     1678static void vmsvga3dCmdDXDrawIndexed(PVGASTATECC pThisCC, SVGA3dCmdDXDrawIndexed const *pCmd)
     1679{
     1680ASMBreakpoint();
     1681    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1682    if (pSvgaR3State->pFuncsDX)
     1683    {
     1684        RT_NOREF(pCmd);
     1685        pSvgaR3State->pFuncsDX->pfnDXDrawIndexed(pThisCC->svga.p3dState);
     1686    }
     1687}
     1688
     1689
     1690/* SVGA_3D_CMD_DX_DRAW_INSTANCED 1154 */
     1691static void vmsvga3dCmdDXDrawInstanced(PVGASTATECC pThisCC, SVGA3dCmdDXDrawInstanced const *pCmd)
     1692{
     1693ASMBreakpoint();
     1694    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1695    if (pSvgaR3State->pFuncsDX)
     1696    {
     1697        RT_NOREF(pCmd);
     1698        pSvgaR3State->pFuncsDX->pfnDXDrawInstanced(pThisCC->svga.p3dState);
     1699    }
     1700}
     1701
     1702
     1703/* SVGA_3D_CMD_DX_DRAW_INDEXED_INSTANCED 1155 */
     1704static void vmsvga3dCmdDXDrawIndexedInstanced(PVGASTATECC pThisCC, SVGA3dCmdDXDrawIndexedInstanced const *pCmd)
     1705{
     1706ASMBreakpoint();
     1707    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1708    if (pSvgaR3State->pFuncsDX)
     1709    {
     1710        RT_NOREF(pCmd);
     1711        pSvgaR3State->pFuncsDX->pfnDXDrawIndexedInstanced(pThisCC->svga.p3dState);
     1712    }
     1713}
     1714
     1715
     1716/* SVGA_3D_CMD_DX_DRAW_AUTO 1156 */
     1717static void vmsvga3dCmdDXDrawAuto(PVGASTATECC pThisCC, SVGA3dCmdDXDrawAuto const *pCmd)
     1718{
     1719ASMBreakpoint();
     1720    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1721    if (pSvgaR3State->pFuncsDX)
     1722    {
     1723        RT_NOREF(pCmd);
     1724        pSvgaR3State->pFuncsDX->pfnDXDrawAuto(pThisCC->svga.p3dState);
     1725    }
     1726}
     1727
     1728
     1729/* SVGA_3D_CMD_DX_SET_INPUT_LAYOUT 1157 */
     1730static void vmsvga3dCmdDXSetInputLayout(PVGASTATECC pThisCC, SVGA3dCmdDXSetInputLayout const *pCmd)
     1731{
     1732ASMBreakpoint();
     1733    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1734    if (pSvgaR3State->pFuncsDX)
     1735    {
     1736        RT_NOREF(pCmd);
     1737        pSvgaR3State->pFuncsDX->pfnDXSetInputLayout(pThisCC->svga.p3dState);
     1738    }
     1739}
     1740
     1741
     1742/* SVGA_3D_CMD_DX_SET_VERTEX_BUFFERS 1158 */
     1743static void vmsvga3dCmdDXSetVertexBuffers(PVGASTATECC pThisCC, SVGA3dCmdDXSetVertexBuffers const *pCmd)
     1744{
     1745ASMBreakpoint();
     1746    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1747    if (pSvgaR3State->pFuncsDX)
     1748    {
     1749        RT_NOREF(pCmd);
     1750        pSvgaR3State->pFuncsDX->pfnDXSetVertexBuffers(pThisCC->svga.p3dState);
     1751    }
     1752}
     1753
     1754
     1755/* SVGA_3D_CMD_DX_SET_INDEX_BUFFER 1159 */
     1756static void vmsvga3dCmdDXSetIndexBuffer(PVGASTATECC pThisCC, SVGA3dCmdDXSetIndexBuffer const *pCmd)
     1757{
     1758ASMBreakpoint();
     1759    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1760    if (pSvgaR3State->pFuncsDX)
     1761    {
     1762        RT_NOREF(pCmd);
     1763        pSvgaR3State->pFuncsDX->pfnDXSetIndexBuffer(pThisCC->svga.p3dState);
     1764    }
     1765}
     1766
     1767
     1768/* SVGA_3D_CMD_DX_SET_TOPOLOGY 1160 */
     1769static void vmsvga3dCmdDXSetTopology(PVGASTATECC pThisCC, SVGA3dCmdDXSetTopology const *pCmd)
     1770{
     1771ASMBreakpoint();
     1772    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1773    if (pSvgaR3State->pFuncsDX)
     1774    {
     1775        RT_NOREF(pCmd);
     1776        pSvgaR3State->pFuncsDX->pfnDXSetTopology(pThisCC->svga.p3dState);
     1777    }
     1778}
     1779
     1780
     1781/* SVGA_3D_CMD_DX_SET_RENDERTARGETS 1161 */
     1782static void vmsvga3dCmdDXSetRenderTargets(PVGASTATECC pThisCC, SVGA3dCmdDXSetRenderTargets const *pCmd)
     1783{
     1784ASMBreakpoint();
     1785    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1786    if (pSvgaR3State->pFuncsDX)
     1787    {
     1788        RT_NOREF(pCmd);
     1789        pSvgaR3State->pFuncsDX->pfnDXSetRenderTargets(pThisCC->svga.p3dState);
     1790    }
     1791}
     1792
     1793
     1794/* SVGA_3D_CMD_DX_SET_BLEND_STATE 1162 */
     1795static void vmsvga3dCmdDXSetBlendState(PVGASTATECC pThisCC, SVGA3dCmdDXSetBlendState const *pCmd)
     1796{
     1797ASMBreakpoint();
     1798    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1799    if (pSvgaR3State->pFuncsDX)
     1800    {
     1801        RT_NOREF(pCmd);
     1802        pSvgaR3State->pFuncsDX->pfnDXSetBlendState(pThisCC->svga.p3dState);
     1803    }
     1804}
     1805
     1806
     1807/* SVGA_3D_CMD_DX_SET_DEPTHSTENCIL_STATE 1163 */
     1808static void vmsvga3dCmdDXSetDepthStencilState(PVGASTATECC pThisCC, SVGA3dCmdDXSetDepthStencilState const *pCmd)
     1809{
     1810ASMBreakpoint();
     1811    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1812    if (pSvgaR3State->pFuncsDX)
     1813    {
     1814        RT_NOREF(pCmd);
     1815        pSvgaR3State->pFuncsDX->pfnDXSetDepthStencilState(pThisCC->svga.p3dState);
     1816    }
     1817}
     1818
     1819
     1820/* SVGA_3D_CMD_DX_SET_RASTERIZER_STATE 1164 */
     1821static void vmsvga3dCmdDXSetRasterizerState(PVGASTATECC pThisCC, SVGA3dCmdDXSetRasterizerState const *pCmd)
     1822{
     1823ASMBreakpoint();
     1824    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1825    if (pSvgaR3State->pFuncsDX)
     1826    {
     1827        RT_NOREF(pCmd);
     1828        pSvgaR3State->pFuncsDX->pfnDXSetRasterizerState(pThisCC->svga.p3dState);
     1829    }
     1830}
     1831
     1832
     1833/* SVGA_3D_CMD_DX_DEFINE_QUERY 1165 */
     1834static void vmsvga3dCmdDXDefineQuery(PVGASTATECC pThisCC, SVGA3dCmdDXDefineQuery const *pCmd)
     1835{
     1836ASMBreakpoint();
     1837    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1838    if (pSvgaR3State->pFuncsDX)
     1839    {
     1840        RT_NOREF(pCmd);
     1841        pSvgaR3State->pFuncsDX->pfnDXDefineQuery(pThisCC->svga.p3dState);
     1842    }
     1843}
     1844
     1845
     1846/* SVGA_3D_CMD_DX_DESTROY_QUERY 1166 */
     1847static void vmsvga3dCmdDXDestroyQuery(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyQuery const *pCmd)
     1848{
     1849ASMBreakpoint();
     1850    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1851    if (pSvgaR3State->pFuncsDX)
     1852    {
     1853        RT_NOREF(pCmd);
     1854        pSvgaR3State->pFuncsDX->pfnDXDestroyQuery(pThisCC->svga.p3dState);
     1855    }
     1856}
     1857
     1858
     1859/* SVGA_3D_CMD_DX_BIND_QUERY 1167 */
     1860static void vmsvga3dCmdDXBindQuery(PVGASTATECC pThisCC, SVGA3dCmdDXBindQuery const *pCmd)
     1861{
     1862ASMBreakpoint();
     1863    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1864    if (pSvgaR3State->pFuncsDX)
     1865    {
     1866        RT_NOREF(pCmd);
     1867        pSvgaR3State->pFuncsDX->pfnDXBindQuery(pThisCC->svga.p3dState);
     1868    }
     1869}
     1870
     1871
     1872/* SVGA_3D_CMD_DX_SET_QUERY_OFFSET 1168 */
     1873static void vmsvga3dCmdDXSetQueryOffset(PVGASTATECC pThisCC, SVGA3dCmdDXSetQueryOffset const *pCmd)
     1874{
     1875ASMBreakpoint();
     1876    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1877    if (pSvgaR3State->pFuncsDX)
     1878    {
     1879        RT_NOREF(pCmd);
     1880        pSvgaR3State->pFuncsDX->pfnDXSetQueryOffset(pThisCC->svga.p3dState);
     1881    }
     1882}
     1883
     1884
     1885/* SVGA_3D_CMD_DX_BEGIN_QUERY 1169 */
     1886static void vmsvga3dCmdDXBeginQuery(PVGASTATECC pThisCC, SVGA3dCmdDXBeginQuery const *pCmd)
     1887{
     1888ASMBreakpoint();
     1889    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1890    if (pSvgaR3State->pFuncsDX)
     1891    {
     1892        RT_NOREF(pCmd);
     1893        pSvgaR3State->pFuncsDX->pfnDXBeginQuery(pThisCC->svga.p3dState);
     1894    }
     1895}
     1896
     1897
     1898/* SVGA_3D_CMD_DX_END_QUERY 1170 */
     1899static void vmsvga3dCmdDXEndQuery(PVGASTATECC pThisCC, SVGA3dCmdDXEndQuery const *pCmd)
     1900{
     1901ASMBreakpoint();
     1902    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1903    if (pSvgaR3State->pFuncsDX)
     1904    {
     1905        RT_NOREF(pCmd);
     1906        pSvgaR3State->pFuncsDX->pfnDXEndQuery(pThisCC->svga.p3dState);
     1907    }
     1908}
     1909
     1910
     1911/* SVGA_3D_CMD_DX_READBACK_QUERY 1171 */
     1912static void vmsvga3dCmdDXReadbackQuery(PVGASTATECC pThisCC, SVGA3dCmdDXReadbackQuery const *pCmd)
     1913{
     1914ASMBreakpoint();
     1915    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1916    if (pSvgaR3State->pFuncsDX)
     1917    {
     1918        RT_NOREF(pCmd);
     1919        pSvgaR3State->pFuncsDX->pfnDXReadbackQuery(pThisCC->svga.p3dState);
     1920    }
     1921}
     1922
     1923
     1924/* SVGA_3D_CMD_DX_SET_PREDICATION 1172 */
     1925static void vmsvga3dCmdDXSetPredication(PVGASTATECC pThisCC, SVGA3dCmdDXSetPredication const *pCmd)
     1926{
     1927ASMBreakpoint();
     1928    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1929    if (pSvgaR3State->pFuncsDX)
     1930    {
     1931        RT_NOREF(pCmd);
     1932        pSvgaR3State->pFuncsDX->pfnDXSetPredication(pThisCC->svga.p3dState);
     1933    }
     1934}
     1935
     1936
     1937/* SVGA_3D_CMD_DX_SET_SOTARGETS 1173 */
     1938static void vmsvga3dCmdDXSetSOTargets(PVGASTATECC pThisCC, SVGA3dCmdDXSetSOTargets const *pCmd)
     1939{
     1940ASMBreakpoint();
     1941    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1942    if (pSvgaR3State->pFuncsDX)
     1943    {
     1944        RT_NOREF(pCmd);
     1945        pSvgaR3State->pFuncsDX->pfnDXSetSOTargets(pThisCC->svga.p3dState);
     1946    }
     1947}
     1948
     1949
     1950/* SVGA_3D_CMD_DX_SET_VIEWPORTS 1174 */
     1951static void vmsvga3dCmdDXSetViewports(PVGASTATECC pThisCC, SVGA3dCmdDXSetViewports const *pCmd)
     1952{
     1953ASMBreakpoint();
     1954    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1955    if (pSvgaR3State->pFuncsDX)
     1956    {
     1957        RT_NOREF(pCmd);
     1958        pSvgaR3State->pFuncsDX->pfnDXSetViewports(pThisCC->svga.p3dState);
     1959    }
     1960}
     1961
     1962
     1963/* SVGA_3D_CMD_DX_SET_SCISSORRECTS 1175 */
     1964static void vmsvga3dCmdDXSetScissorRects(PVGASTATECC pThisCC, SVGA3dCmdDXSetScissorRects const *pCmd)
     1965{
     1966ASMBreakpoint();
     1967    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1968    if (pSvgaR3State->pFuncsDX)
     1969    {
     1970        RT_NOREF(pCmd);
     1971        pSvgaR3State->pFuncsDX->pfnDXSetScissorRects(pThisCC->svga.p3dState);
     1972    }
     1973}
     1974
     1975
     1976/* SVGA_3D_CMD_DX_CLEAR_RENDERTARGET_VIEW 1176 */
     1977static void vmsvga3dCmdDXClearRenderTargetView(PVGASTATECC pThisCC, SVGA3dCmdDXClearRenderTargetView const *pCmd)
     1978{
     1979ASMBreakpoint();
     1980    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1981    if (pSvgaR3State->pFuncsDX)
     1982    {
     1983        RT_NOREF(pCmd);
     1984        pSvgaR3State->pFuncsDX->pfnDXClearRenderTargetView(pThisCC->svga.p3dState);
     1985    }
     1986}
     1987
     1988
     1989/* SVGA_3D_CMD_DX_CLEAR_DEPTHSTENCIL_VIEW 1177 */
     1990static void vmsvga3dCmdDXClearDepthStencilView(PVGASTATECC pThisCC, SVGA3dCmdDXClearDepthStencilView const *pCmd)
     1991{
     1992ASMBreakpoint();
     1993    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1994    if (pSvgaR3State->pFuncsDX)
     1995    {
     1996        RT_NOREF(pCmd);
     1997        pSvgaR3State->pFuncsDX->pfnDXClearDepthStencilView(pThisCC->svga.p3dState);
     1998    }
     1999}
     2000
     2001
     2002/* SVGA_3D_CMD_DX_PRED_COPY_REGION 1178 */
     2003static void vmsvga3dCmdDXPredCopyRegion(PVGASTATECC pThisCC, SVGA3dCmdDXPredCopyRegion const *pCmd)
     2004{
     2005ASMBreakpoint();
     2006    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2007    if (pSvgaR3State->pFuncsDX)
     2008    {
     2009        RT_NOREF(pCmd);
     2010        pSvgaR3State->pFuncsDX->pfnDXPredCopyRegion(pThisCC->svga.p3dState);
     2011    }
     2012}
     2013
     2014
     2015/* SVGA_3D_CMD_DX_PRED_COPY 1179 */
     2016static void vmsvga3dCmdDXPredCopy(PVGASTATECC pThisCC, SVGA3dCmdDXPredCopy const *pCmd)
     2017{
     2018ASMBreakpoint();
     2019    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2020    if (pSvgaR3State->pFuncsDX)
     2021    {
     2022        RT_NOREF(pCmd);
     2023        pSvgaR3State->pFuncsDX->pfnDXPredCopy(pThisCC->svga.p3dState);
     2024    }
     2025}
     2026
     2027
     2028/* SVGA_3D_CMD_DX_STRETCHBLT 1180 */
     2029static void vmsvga3dCmdDXStretchBlt(PVGASTATECC pThisCC, SVGA3dCmdDXStretchBlt const *pCmd)
     2030{
     2031ASMBreakpoint();
     2032    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2033    if (pSvgaR3State->pFuncsDX)
     2034    {
     2035        RT_NOREF(pCmd);
     2036        pSvgaR3State->pFuncsDX->pfnDXStretchBlt(pThisCC->svga.p3dState);
     2037    }
     2038}
     2039
     2040
     2041/* SVGA_3D_CMD_DX_GENMIPS 1181 */
     2042static void vmsvga3dCmdDXGenMips(PVGASTATECC pThisCC, SVGA3dCmdDXGenMips const *pCmd)
     2043{
     2044ASMBreakpoint();
     2045    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2046    if (pSvgaR3State->pFuncsDX)
     2047    {
     2048        RT_NOREF(pCmd);
     2049        pSvgaR3State->pFuncsDX->pfnDXGenMips(pThisCC->svga.p3dState);
     2050    }
     2051}
     2052
     2053
     2054/* SVGA_3D_CMD_DX_UPDATE_SUBRESOURCE 1182 */
     2055static void vmsvga3dCmdDXUpdateSubResource(PVGASTATECC pThisCC, SVGA3dCmdDXUpdateSubResource const *pCmd)
     2056{
     2057ASMBreakpoint();
     2058    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2059    if (pSvgaR3State->pFuncsDX)
     2060    {
     2061        RT_NOREF(pCmd);
     2062        pSvgaR3State->pFuncsDX->pfnDXUpdateSubResource(pThisCC->svga.p3dState);
     2063    }
     2064}
     2065
     2066
     2067/* SVGA_3D_CMD_DX_READBACK_SUBRESOURCE 1183 */
     2068static void vmsvga3dCmdDXReadbackSubResource(PVGASTATECC pThisCC, SVGA3dCmdDXReadbackSubResource const *pCmd)
     2069{
     2070ASMBreakpoint();
     2071    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2072    if (pSvgaR3State->pFuncsDX)
     2073    {
     2074        RT_NOREF(pCmd);
     2075        pSvgaR3State->pFuncsDX->pfnDXReadbackSubResource(pThisCC->svga.p3dState);
     2076    }
     2077}
     2078
     2079
     2080/* SVGA_3D_CMD_DX_INVALIDATE_SUBRESOURCE 1184 */
     2081static void vmsvga3dCmdDXInvalidateSubResource(PVGASTATECC pThisCC, SVGA3dCmdDXInvalidateSubResource const *pCmd)
     2082{
     2083ASMBreakpoint();
     2084    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2085    if (pSvgaR3State->pFuncsDX)
     2086    {
     2087        RT_NOREF(pCmd);
     2088        pSvgaR3State->pFuncsDX->pfnDXInvalidateSubResource(pThisCC->svga.p3dState);
     2089    }
     2090}
     2091
     2092
     2093/* SVGA_3D_CMD_DX_DEFINE_SHADERRESOURCE_VIEW 1185 */
     2094static void vmsvga3dCmdDXDefineShaderResourceView(PVGASTATECC pThisCC, SVGA3dCmdDXDefineShaderResourceView const *pCmd)
     2095{
     2096ASMBreakpoint();
     2097    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2098    if (pSvgaR3State->pFuncsDX)
     2099    {
     2100        RT_NOREF(pCmd);
     2101        pSvgaR3State->pFuncsDX->pfnDXDefineShaderResourceView(pThisCC->svga.p3dState);
     2102    }
     2103}
     2104
     2105
     2106/* SVGA_3D_CMD_DX_DESTROY_SHADERRESOURCE_VIEW 1186 */
     2107static void vmsvga3dCmdDXDestroyShaderResourceView(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyShaderResourceView const *pCmd)
     2108{
     2109ASMBreakpoint();
     2110    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2111    if (pSvgaR3State->pFuncsDX)
     2112    {
     2113        RT_NOREF(pCmd);
     2114        pSvgaR3State->pFuncsDX->pfnDXDestroyShaderResourceView(pThisCC->svga.p3dState);
     2115    }
     2116}
     2117
     2118
     2119/* SVGA_3D_CMD_DX_DEFINE_RENDERTARGET_VIEW 1187 */
     2120static void vmsvga3dCmdDXDefineRenderTargetView(PVGASTATECC pThisCC, SVGA3dCmdDXDefineRenderTargetView const *pCmd)
     2121{
     2122ASMBreakpoint();
     2123    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2124    if (pSvgaR3State->pFuncsDX)
     2125    {
     2126        RT_NOREF(pCmd);
     2127        pSvgaR3State->pFuncsDX->pfnDXDefineRenderTargetView(pThisCC->svga.p3dState);
     2128    }
     2129}
     2130
     2131
     2132/* SVGA_3D_CMD_DX_DESTROY_RENDERTARGET_VIEW 1188 */
     2133static void vmsvga3dCmdDXDestroyRenderTargetView(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyRenderTargetView const *pCmd)
     2134{
     2135ASMBreakpoint();
     2136    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2137    if (pSvgaR3State->pFuncsDX)
     2138    {
     2139        RT_NOREF(pCmd);
     2140        pSvgaR3State->pFuncsDX->pfnDXDestroyRenderTargetView(pThisCC->svga.p3dState);
     2141    }
     2142}
     2143
     2144
     2145/* SVGA_3D_CMD_DX_DEFINE_DEPTHSTENCIL_VIEW 1189 */
     2146static void vmsvga3dCmdDXDefineDepthStencilView(PVGASTATECC pThisCC, SVGA3dCmdDXDefineDepthStencilView const *pCmd)
     2147{
     2148ASMBreakpoint();
     2149    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2150    if (pSvgaR3State->pFuncsDX)
     2151    {
     2152        RT_NOREF(pCmd);
     2153        pSvgaR3State->pFuncsDX->pfnDXDefineDepthStencilView(pThisCC->svga.p3dState);
     2154    }
     2155}
     2156
     2157
     2158/* SVGA_3D_CMD_DX_DESTROY_DEPTHSTENCIL_VIEW 1190 */
     2159static void vmsvga3dCmdDXDestroyDepthStencilView(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyDepthStencilView const *pCmd)
     2160{
     2161ASMBreakpoint();
     2162    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2163    if (pSvgaR3State->pFuncsDX)
     2164    {
     2165        RT_NOREF(pCmd);
     2166        pSvgaR3State->pFuncsDX->pfnDXDestroyDepthStencilView(pThisCC->svga.p3dState);
     2167    }
     2168}
     2169
     2170
     2171/* SVGA_3D_CMD_DX_DEFINE_ELEMENTLAYOUT 1191 */
     2172static void vmsvga3dCmdDXDefineElementLayout(PVGASTATECC pThisCC, SVGA3dCmdDXDefineElementLayout const *pCmd)
     2173{
     2174ASMBreakpoint();
     2175    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2176    if (pSvgaR3State->pFuncsDX)
     2177    {
     2178        RT_NOREF(pCmd);
     2179        pSvgaR3State->pFuncsDX->pfnDXDefineElementLayout(pThisCC->svga.p3dState);
     2180    }
     2181}
     2182
     2183
     2184/* SVGA_3D_CMD_DX_DESTROY_ELEMENTLAYOUT 1192 */
     2185static void vmsvga3dCmdDXDestroyElementLayout(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyElementLayout const *pCmd)
     2186{
     2187ASMBreakpoint();
     2188    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2189    if (pSvgaR3State->pFuncsDX)
     2190    {
     2191        RT_NOREF(pCmd);
     2192        pSvgaR3State->pFuncsDX->pfnDXDestroyElementLayout(pThisCC->svga.p3dState);
     2193    }
     2194}
     2195
     2196
     2197/* SVGA_3D_CMD_DX_DEFINE_BLEND_STATE 1193 */
     2198static void vmsvga3dCmdDXDefineBlendState(PVGASTATECC pThisCC, SVGA3dCmdDXDefineBlendState const *pCmd)
     2199{
     2200ASMBreakpoint();
     2201    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2202    if (pSvgaR3State->pFuncsDX)
     2203    {
     2204        RT_NOREF(pCmd);
     2205        pSvgaR3State->pFuncsDX->pfnDXDefineBlendState(pThisCC->svga.p3dState);
     2206    }
     2207}
     2208
     2209
     2210/* SVGA_3D_CMD_DX_DESTROY_BLEND_STATE 1194 */
     2211static void vmsvga3dCmdDXDestroyBlendState(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyBlendState const *pCmd)
     2212{
     2213ASMBreakpoint();
     2214    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2215    if (pSvgaR3State->pFuncsDX)
     2216    {
     2217        RT_NOREF(pCmd);
     2218        pSvgaR3State->pFuncsDX->pfnDXDestroyBlendState(pThisCC->svga.p3dState);
     2219    }
     2220}
     2221
     2222
     2223/* SVGA_3D_CMD_DX_DEFINE_DEPTHSTENCIL_STATE 1195 */
     2224static void vmsvga3dCmdDXDefineDepthStencilState(PVGASTATECC pThisCC, SVGA3dCmdDXDefineDepthStencilState const *pCmd)
     2225{
     2226ASMBreakpoint();
     2227    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2228    if (pSvgaR3State->pFuncsDX)
     2229    {
     2230        RT_NOREF(pCmd);
     2231        pSvgaR3State->pFuncsDX->pfnDXDefineDepthStencilState(pThisCC->svga.p3dState);
     2232    }
     2233}
     2234
     2235
     2236/* SVGA_3D_CMD_DX_DESTROY_DEPTHSTENCIL_STATE 1196 */
     2237static void vmsvga3dCmdDXDestroyDepthStencilState(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyDepthStencilState const *pCmd)
     2238{
     2239ASMBreakpoint();
     2240    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2241    if (pSvgaR3State->pFuncsDX)
     2242    {
     2243        RT_NOREF(pCmd);
     2244        pSvgaR3State->pFuncsDX->pfnDXDestroyDepthStencilState(pThisCC->svga.p3dState);
     2245    }
     2246}
     2247
     2248
     2249/* SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE 1197 */
     2250static void vmsvga3dCmdDXDefineRasterizerState(PVGASTATECC pThisCC, SVGA3dCmdDXDefineRasterizerState const *pCmd)
     2251{
     2252ASMBreakpoint();
     2253    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2254    if (pSvgaR3State->pFuncsDX)
     2255    {
     2256        RT_NOREF(pCmd);
     2257        pSvgaR3State->pFuncsDX->pfnDXDefineRasterizerState(pThisCC->svga.p3dState);
     2258    }
     2259}
     2260
     2261
     2262/* SVGA_3D_CMD_DX_DESTROY_RASTERIZER_STATE 1198 */
     2263static void vmsvga3dCmdDXDestroyRasterizerState(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyRasterizerState const *pCmd)
     2264{
     2265ASMBreakpoint();
     2266    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2267    if (pSvgaR3State->pFuncsDX)
     2268    {
     2269        RT_NOREF(pCmd);
     2270        pSvgaR3State->pFuncsDX->pfnDXDestroyRasterizerState(pThisCC->svga.p3dState);
     2271    }
     2272}
     2273
     2274
     2275/* SVGA_3D_CMD_DX_DEFINE_SAMPLER_STATE 1199 */
     2276static void vmsvga3dCmdDXDefineSamplerState(PVGASTATECC pThisCC, SVGA3dCmdDXDefineSamplerState const *pCmd)
     2277{
     2278ASMBreakpoint();
     2279    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2280    if (pSvgaR3State->pFuncsDX)
     2281    {
     2282        RT_NOREF(pCmd);
     2283        pSvgaR3State->pFuncsDX->pfnDXDefineSamplerState(pThisCC->svga.p3dState);
     2284    }
     2285}
     2286
     2287
     2288/* SVGA_3D_CMD_DX_DESTROY_SAMPLER_STATE 1200 */
     2289static void vmsvga3dCmdDXDestroySamplerState(PVGASTATECC pThisCC, SVGA3dCmdDXDestroySamplerState const *pCmd)
     2290{
     2291ASMBreakpoint();
     2292    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2293    if (pSvgaR3State->pFuncsDX)
     2294    {
     2295        RT_NOREF(pCmd);
     2296        pSvgaR3State->pFuncsDX->pfnDXDestroySamplerState(pThisCC->svga.p3dState);
     2297    }
     2298}
     2299
     2300
     2301/* SVGA_3D_CMD_DX_DEFINE_SHADER 1201 */
     2302static void vmsvga3dCmdDXDefineShader(PVGASTATECC pThisCC, SVGA3dCmdDXDefineShader const *pCmd)
     2303{
     2304ASMBreakpoint();
     2305    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2306    if (pSvgaR3State->pFuncsDX)
     2307    {
     2308        RT_NOREF(pCmd);
     2309        pSvgaR3State->pFuncsDX->pfnDXDefineShader(pThisCC->svga.p3dState);
     2310    }
     2311}
     2312
     2313
     2314/* SVGA_3D_CMD_DX_DESTROY_SHADER 1202 */
     2315static void vmsvga3dCmdDXDestroyShader(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyShader const *pCmd)
     2316{
     2317ASMBreakpoint();
     2318    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2319    if (pSvgaR3State->pFuncsDX)
     2320    {
     2321        RT_NOREF(pCmd);
     2322        pSvgaR3State->pFuncsDX->pfnDXDestroyShader(pThisCC->svga.p3dState);
     2323    }
     2324}
     2325
     2326
     2327/* SVGA_3D_CMD_DX_BIND_SHADER 1203 */
     2328static void vmsvga3dCmdDXBindShader(PVGASTATECC pThisCC, SVGA3dCmdDXBindShader const *pCmd)
     2329{
     2330ASMBreakpoint();
     2331    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2332    if (pSvgaR3State->pFuncsDX)
     2333    {
     2334        RT_NOREF(pCmd);
     2335        pSvgaR3State->pFuncsDX->pfnDXBindShader(pThisCC->svga.p3dState);
     2336    }
     2337}
     2338
     2339
     2340/* SVGA_3D_CMD_DX_DEFINE_STREAMOUTPUT 1204 */
     2341static void vmsvga3dCmdDXDefineStreamOutput(PVGASTATECC pThisCC, SVGA3dCmdDXDefineStreamOutput const *pCmd)
     2342{
     2343ASMBreakpoint();
     2344    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2345    if (pSvgaR3State->pFuncsDX)
     2346    {
     2347        RT_NOREF(pCmd);
     2348        pSvgaR3State->pFuncsDX->pfnDXDefineStreamOutput(pThisCC->svga.p3dState);
     2349    }
     2350}
     2351
     2352
     2353/* SVGA_3D_CMD_DX_DESTROY_STREAMOUTPUT 1205 */
     2354static void vmsvga3dCmdDXDestroyStreamOutput(PVGASTATECC pThisCC, SVGA3dCmdDXDestroyStreamOutput const *pCmd)
     2355{
     2356ASMBreakpoint();
     2357    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2358    if (pSvgaR3State->pFuncsDX)
     2359    {
     2360        RT_NOREF(pCmd);
     2361        pSvgaR3State->pFuncsDX->pfnDXDestroyStreamOutput(pThisCC->svga.p3dState);
     2362    }
     2363}
     2364
     2365
     2366/* SVGA_3D_CMD_DX_SET_STREAMOUTPUT 1206 */
     2367static void vmsvga3dCmdDXSetStreamOutput(PVGASTATECC pThisCC, SVGA3dCmdDXSetStreamOutput const *pCmd)
     2368{
     2369ASMBreakpoint();
     2370    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2371    if (pSvgaR3State->pFuncsDX)
     2372    {
     2373        RT_NOREF(pCmd);
     2374        pSvgaR3State->pFuncsDX->pfnDXSetStreamOutput(pThisCC->svga.p3dState);
     2375    }
     2376}
     2377
     2378
     2379/* SVGA_3D_CMD_DX_SET_COTABLE 1207 */
     2380static void vmsvga3dCmdDXSetCOTable(PVGASTATECC pThisCC, SVGA3dCmdDXSetCOTable const *pCmd)
     2381{
     2382ASMBreakpoint();
     2383    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2384    if (pSvgaR3State->pFuncsDX)
     2385    {
     2386        RT_NOREF(pCmd);
     2387        pSvgaR3State->pFuncsDX->pfnDXSetCOTable(pThisCC->svga.p3dState);
     2388    }
     2389}
     2390
     2391
     2392/* SVGA_3D_CMD_DX_READBACK_COTABLE 1208 */
     2393static void vmsvga3dCmdDXReadbackCOTable(PVGASTATECC pThisCC, SVGA3dCmdDXReadbackCOTable const *pCmd)
     2394{
     2395ASMBreakpoint();
     2396    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2397    if (pSvgaR3State->pFuncsDX)
     2398    {
     2399        RT_NOREF(pCmd);
     2400        pSvgaR3State->pFuncsDX->pfnDXReadbackCOTable(pThisCC->svga.p3dState);
     2401    }
     2402}
     2403
     2404
     2405/* SVGA_3D_CMD_DX_BUFFER_COPY 1209 */
     2406static void vmsvga3dCmdDXBufferCopy(PVGASTATECC pThisCC, SVGA3dCmdDXBufferCopy const *pCmd)
     2407{
     2408ASMBreakpoint();
     2409    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2410    if (pSvgaR3State->pFuncsDX)
     2411    {
     2412        RT_NOREF(pCmd);
     2413        pSvgaR3State->pFuncsDX->pfnDXBufferCopy(pThisCC->svga.p3dState);
     2414    }
     2415}
     2416
     2417
     2418/* SVGA_3D_CMD_DX_TRANSFER_FROM_BUFFER 1210 */
     2419static void vmsvga3dCmdDXTransferFromBuffer(PVGASTATECC pThisCC, SVGA3dCmdDXTransferFromBuffer const *pCmd)
     2420{
     2421ASMBreakpoint();
     2422    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2423    if (pSvgaR3State->pFuncsDX)
     2424    {
     2425        RT_NOREF(pCmd);
     2426        pSvgaR3State->pFuncsDX->pfnDXTransferFromBuffer(pThisCC->svga.p3dState);
     2427    }
     2428}
     2429
     2430
     2431/* SVGA_3D_CMD_DX_SURFACE_COPY_AND_READBACK 1211 */
     2432static void vmsvga3dCmdDXSurfaceCopyAndReadback(PVGASTATECC pThisCC, SVGA3dCmdDXSurfaceCopyAndReadback const *pCmd)
     2433{
     2434ASMBreakpoint();
     2435    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2436    if (pSvgaR3State->pFuncsDX)
     2437    {
     2438        RT_NOREF(pCmd);
     2439        pSvgaR3State->pFuncsDX->pfnDXSurfaceCopyAndReadback(pThisCC->svga.p3dState);
     2440    }
     2441}
     2442
     2443
     2444/* SVGA_3D_CMD_DX_MOVE_QUERY 1212 */
     2445static void vmsvga3dCmdDXMoveQuery(PVGASTATECC pThisCC, SVGA3dCmdDXMoveQuery const *pCmd)
     2446{
     2447ASMBreakpoint();
     2448    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2449    if (pSvgaR3State->pFuncsDX)
     2450    {
     2451        RT_NOREF(pCmd);
     2452        pSvgaR3State->pFuncsDX->pfnDXMoveQuery(pThisCC->svga.p3dState);
     2453    }
     2454}
     2455
     2456
     2457/* SVGA_3D_CMD_DX_BIND_ALL_QUERY 1213 */
     2458static void vmsvga3dCmdDXBindAllQuery(PVGASTATECC pThisCC, SVGA3dCmdDXBindAllQuery const *pCmd)
     2459{
     2460ASMBreakpoint();
     2461    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2462    if (pSvgaR3State->pFuncsDX)
     2463    {
     2464        RT_NOREF(pCmd);
     2465        pSvgaR3State->pFuncsDX->pfnDXBindAllQuery(pThisCC->svga.p3dState);
     2466    }
     2467}
     2468
     2469
     2470/* SVGA_3D_CMD_DX_READBACK_ALL_QUERY 1214 */
     2471static void vmsvga3dCmdDXReadbackAllQuery(PVGASTATECC pThisCC, SVGA3dCmdDXReadbackAllQuery const *pCmd)
     2472{
     2473ASMBreakpoint();
     2474    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2475    if (pSvgaR3State->pFuncsDX)
     2476    {
     2477        RT_NOREF(pCmd);
     2478        pSvgaR3State->pFuncsDX->pfnDXReadbackAllQuery(pThisCC->svga.p3dState);
     2479    }
     2480}
     2481
     2482
     2483/* SVGA_3D_CMD_DX_PRED_TRANSFER_FROM_BUFFER 1215 */
     2484static void vmsvga3dCmdDXPredTransferFromBuffer(PVGASTATECC pThisCC, SVGA3dCmdDXPredTransferFromBuffer const *pCmd)
     2485{
     2486ASMBreakpoint();
     2487    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2488    if (pSvgaR3State->pFuncsDX)
     2489    {
     2490        RT_NOREF(pCmd);
     2491        pSvgaR3State->pFuncsDX->pfnDXPredTransferFromBuffer(pThisCC->svga.p3dState);
     2492    }
     2493}
     2494
     2495
     2496/* SVGA_3D_CMD_DX_MOB_FENCE_64 1216 */
     2497static void vmsvga3dCmdDXMobFence64(PVGASTATECC pThisCC, SVGA3dCmdDXMobFence64 const *pCmd)
     2498{
     2499ASMBreakpoint();
     2500    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2501    if (pSvgaR3State->pFuncsDX)
     2502    {
     2503        RT_NOREF(pCmd);
     2504        pSvgaR3State->pFuncsDX->pfnDXMobFence64(pThisCC->svga.p3dState);
     2505    }
     2506}
     2507
     2508
     2509/* SVGA_3D_CMD_DX_BIND_ALL_SHADER 1217 */
     2510static void vmsvga3dCmdDXBindAllShader(PVGASTATECC pThisCC, SVGA3dCmdDXBindAllShader const *pCmd)
     2511{
     2512ASMBreakpoint();
     2513    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2514    if (pSvgaR3State->pFuncsDX)
     2515    {
     2516        RT_NOREF(pCmd);
     2517        pSvgaR3State->pFuncsDX->pfnDXBindAllShader(pThisCC->svga.p3dState);
     2518    }
     2519}
     2520
     2521
     2522/* SVGA_3D_CMD_DX_HINT 1218 */
     2523static void vmsvga3dCmdDXHint(PVGASTATECC pThisCC, SVGA3dCmdDXHint const *pCmd)
     2524{
     2525ASMBreakpoint();
     2526    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2527    if (pSvgaR3State->pFuncsDX)
     2528    {
     2529        RT_NOREF(pCmd);
     2530        pSvgaR3State->pFuncsDX->pfnDXHint(pThisCC->svga.p3dState);
     2531    }
     2532}
     2533
     2534
     2535/* SVGA_3D_CMD_DX_BUFFER_UPDATE 1219 */
     2536static void vmsvga3dCmdDXBufferUpdate(PVGASTATECC pThisCC, SVGA3dCmdDXBufferUpdate const *pCmd)
     2537{
     2538ASMBreakpoint();
     2539    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2540    if (pSvgaR3State->pFuncsDX)
     2541    {
     2542        RT_NOREF(pCmd);
     2543        pSvgaR3State->pFuncsDX->pfnDXBufferUpdate(pThisCC->svga.p3dState);
     2544    }
     2545}
     2546
     2547
     2548/* SVGA_3D_CMD_DX_SET_VS_CONSTANT_BUFFER_OFFSET 1220 */
     2549static void vmsvga3dCmdDXSetVSConstantBufferOffset(PVGASTATECC pThisCC, SVGA3dCmdDXSetVSConstantBufferOffset const *pCmd)
     2550{
     2551ASMBreakpoint();
     2552    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2553    if (pSvgaR3State->pFuncsDX)
     2554    {
     2555        RT_NOREF(pCmd);
     2556        pSvgaR3State->pFuncsDX->pfnDXSetVSConstantBufferOffset(pThisCC->svga.p3dState);
     2557    }
     2558}
     2559
     2560
     2561/* SVGA_3D_CMD_DX_SET_PS_CONSTANT_BUFFER_OFFSET 1221 */
     2562static void vmsvga3dCmdDXSetPSConstantBufferOffset(PVGASTATECC pThisCC, SVGA3dCmdDXSetPSConstantBufferOffset const *pCmd)
     2563{
     2564ASMBreakpoint();
     2565    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2566    if (pSvgaR3State->pFuncsDX)
     2567    {
     2568        RT_NOREF(pCmd);
     2569        pSvgaR3State->pFuncsDX->pfnDXSetPSConstantBufferOffset(pThisCC->svga.p3dState);
     2570    }
     2571}
     2572
     2573
     2574/* SVGA_3D_CMD_DX_SET_GS_CONSTANT_BUFFER_OFFSET 1222 */
     2575static void vmsvga3dCmdDXSetGSConstantBufferOffset(PVGASTATECC pThisCC, SVGA3dCmdDXSetGSConstantBufferOffset const *pCmd)
     2576{
     2577ASMBreakpoint();
     2578    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2579    if (pSvgaR3State->pFuncsDX)
     2580    {
     2581        RT_NOREF(pCmd);
     2582        pSvgaR3State->pFuncsDX->pfnDXSetGSConstantBufferOffset(pThisCC->svga.p3dState);
     2583    }
     2584}
     2585
     2586
     2587/* SVGA_3D_CMD_DX_COND_BIND_ALL_SHADER 1226 */
     2588static void vmsvga3dCmdDXCondBindAllShader(PVGASTATECC pThisCC, SVGA3dCmdDXCondBindAllShader const *pCmd)
     2589{
     2590ASMBreakpoint();
     2591    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     2592    if (pSvgaR3State->pFuncsDX)
     2593    {
     2594        RT_NOREF(pCmd);
     2595        pSvgaR3State->pFuncsDX->pfnDXCondBindAllShader(pThisCC->svga.p3dState);
     2596    }
     2597}
     2598
     2599
    15412600/** @def VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK
    15422601 * Check that the 3D command has at least a_cbMin of payload bytes after the
     
    24633522    }
    24643523
    2465     default:
     3524    case SVGA_3D_CMD_DX_DEFINE_CONTEXT:
     3525    {
     3526        SVGA3dCmdDXDefineContext *pCmd = (SVGA3dCmdDXDefineContext *)pvCmd;
     3527        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3528        vmsvga3dCmdDXDefineContext(pThisCC, pCmd);
     3529        break;
     3530    }
     3531
     3532    case SVGA_3D_CMD_DX_DESTROY_CONTEXT:
     3533    {
     3534        SVGA3dCmdDXDestroyContext *pCmd = (SVGA3dCmdDXDestroyContext *)pvCmd;
     3535        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3536        vmsvga3dCmdDXDestroyContext(pThisCC, pCmd);
     3537        break;
     3538    }
     3539
     3540    case SVGA_3D_CMD_DX_BIND_CONTEXT:
     3541    {
     3542        SVGA3dCmdDXBindContext *pCmd = (SVGA3dCmdDXBindContext *)pvCmd;
     3543        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3544        vmsvga3dCmdDXBindContext(pThisCC, pCmd);
     3545        break;
     3546    }
     3547
     3548    case SVGA_3D_CMD_DX_READBACK_CONTEXT:
     3549    {
     3550        SVGA3dCmdDXReadbackContext *pCmd = (SVGA3dCmdDXReadbackContext *)pvCmd;
     3551        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3552        vmsvga3dCmdDXReadbackContext(pThisCC, pCmd);
     3553        break;
     3554    }
     3555
     3556    case SVGA_3D_CMD_DX_INVALIDATE_CONTEXT:
     3557    {
     3558        SVGA3dCmdDXInvalidateContext *pCmd = (SVGA3dCmdDXInvalidateContext *)pvCmd;
     3559        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3560        vmsvga3dCmdDXInvalidateContext(pThisCC, pCmd);
     3561        break;
     3562    }
     3563
     3564    case SVGA_3D_CMD_DX_SET_SINGLE_CONSTANT_BUFFER:
     3565    {
     3566        SVGA3dCmdDXSetSingleConstantBuffer *pCmd = (SVGA3dCmdDXSetSingleConstantBuffer *)pvCmd;
     3567        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3568        vmsvga3dCmdDXSetSingleConstantBuffer(pThisCC, pCmd);
     3569        break;
     3570    }
     3571
     3572    case SVGA_3D_CMD_DX_SET_SHADER_RESOURCES:
     3573    {
     3574        SVGA3dCmdDXSetShaderResources *pCmd = (SVGA3dCmdDXSetShaderResources *)pvCmd;
     3575        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3576        vmsvga3dCmdDXSetShaderResources(pThisCC, pCmd);
     3577        break;
     3578    }
     3579
     3580    case SVGA_3D_CMD_DX_SET_SHADER:
     3581    {
     3582        SVGA3dCmdDXSetShader *pCmd = (SVGA3dCmdDXSetShader *)pvCmd;
     3583        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3584        vmsvga3dCmdDXSetShader(pThisCC, pCmd);
     3585        break;
     3586    }
     3587
     3588    case SVGA_3D_CMD_DX_SET_SAMPLERS:
     3589    {
     3590        SVGA3dCmdDXSetSamplers *pCmd = (SVGA3dCmdDXSetSamplers *)pvCmd;
     3591        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3592        vmsvga3dCmdDXSetSamplers(pThisCC, pCmd);
     3593        break;
     3594    }
     3595
     3596    case SVGA_3D_CMD_DX_DRAW:
     3597    {
     3598        SVGA3dCmdDXDraw *pCmd = (SVGA3dCmdDXDraw *)pvCmd;
     3599        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3600        vmsvga3dCmdDXDraw(pThisCC, pCmd);
     3601        break;
     3602    }
     3603
     3604    case SVGA_3D_CMD_DX_DRAW_INDEXED:
     3605    {
     3606        SVGA3dCmdDXDrawIndexed *pCmd = (SVGA3dCmdDXDrawIndexed *)pvCmd;
     3607        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3608        vmsvga3dCmdDXDrawIndexed(pThisCC, pCmd);
     3609        break;
     3610    }
     3611
     3612    case SVGA_3D_CMD_DX_DRAW_INSTANCED:
     3613    {
     3614        SVGA3dCmdDXDrawInstanced *pCmd = (SVGA3dCmdDXDrawInstanced *)pvCmd;
     3615        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3616        vmsvga3dCmdDXDrawInstanced(pThisCC, pCmd);
     3617        break;
     3618    }
     3619
     3620    case SVGA_3D_CMD_DX_DRAW_INDEXED_INSTANCED:
     3621    {
     3622        SVGA3dCmdDXDrawIndexedInstanced *pCmd = (SVGA3dCmdDXDrawIndexedInstanced *)pvCmd;
     3623        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3624        vmsvga3dCmdDXDrawIndexedInstanced(pThisCC, pCmd);
     3625        break;
     3626    }
     3627
     3628    case SVGA_3D_CMD_DX_DRAW_AUTO:
     3629    {
     3630        SVGA3dCmdDXDrawAuto *pCmd = (SVGA3dCmdDXDrawAuto *)pvCmd;
     3631        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3632        vmsvga3dCmdDXDrawAuto(pThisCC, pCmd);
     3633        break;
     3634    }
     3635
     3636    case SVGA_3D_CMD_DX_SET_INPUT_LAYOUT:
     3637    {
     3638        SVGA3dCmdDXSetInputLayout *pCmd = (SVGA3dCmdDXSetInputLayout *)pvCmd;
     3639        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3640        vmsvga3dCmdDXSetInputLayout(pThisCC, pCmd);
     3641        break;
     3642    }
     3643
     3644    case SVGA_3D_CMD_DX_SET_VERTEX_BUFFERS:
     3645    {
     3646        SVGA3dCmdDXSetVertexBuffers *pCmd = (SVGA3dCmdDXSetVertexBuffers *)pvCmd;
     3647        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3648        vmsvga3dCmdDXSetVertexBuffers(pThisCC, pCmd);
     3649        break;
     3650    }
     3651
     3652    case SVGA_3D_CMD_DX_SET_INDEX_BUFFER:
     3653    {
     3654        SVGA3dCmdDXSetIndexBuffer *pCmd = (SVGA3dCmdDXSetIndexBuffer *)pvCmd;
     3655        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3656        vmsvga3dCmdDXSetIndexBuffer(pThisCC, pCmd);
     3657        break;
     3658    }
     3659
     3660    case SVGA_3D_CMD_DX_SET_TOPOLOGY:
     3661    {
     3662        SVGA3dCmdDXSetTopology *pCmd = (SVGA3dCmdDXSetTopology *)pvCmd;
     3663        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3664        vmsvga3dCmdDXSetTopology(pThisCC, pCmd);
     3665        break;
     3666    }
     3667
     3668    case SVGA_3D_CMD_DX_SET_RENDERTARGETS:
     3669    {
     3670        SVGA3dCmdDXSetRenderTargets *pCmd = (SVGA3dCmdDXSetRenderTargets *)pvCmd;
     3671        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3672        vmsvga3dCmdDXSetRenderTargets(pThisCC, pCmd);
     3673        break;
     3674    }
     3675
     3676    case SVGA_3D_CMD_DX_SET_BLEND_STATE:
     3677    {
     3678        SVGA3dCmdDXSetBlendState *pCmd = (SVGA3dCmdDXSetBlendState *)pvCmd;
     3679        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3680        vmsvga3dCmdDXSetBlendState(pThisCC, pCmd);
     3681        break;
     3682    }
     3683
     3684    case SVGA_3D_CMD_DX_SET_DEPTHSTENCIL_STATE:
     3685    {
     3686        SVGA3dCmdDXSetDepthStencilState *pCmd = (SVGA3dCmdDXSetDepthStencilState *)pvCmd;
     3687        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3688        vmsvga3dCmdDXSetDepthStencilState(pThisCC, pCmd);
     3689        break;
     3690    }
     3691
     3692    case SVGA_3D_CMD_DX_SET_RASTERIZER_STATE:
     3693    {
     3694        SVGA3dCmdDXSetRasterizerState *pCmd = (SVGA3dCmdDXSetRasterizerState *)pvCmd;
     3695        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3696        vmsvga3dCmdDXSetRasterizerState(pThisCC, pCmd);
     3697        break;
     3698    }
     3699
     3700    case SVGA_3D_CMD_DX_DEFINE_QUERY:
     3701    {
     3702        SVGA3dCmdDXDefineQuery *pCmd = (SVGA3dCmdDXDefineQuery *)pvCmd;
     3703        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3704        vmsvga3dCmdDXDefineQuery(pThisCC, pCmd);
     3705        break;
     3706    }
     3707
     3708    case SVGA_3D_CMD_DX_DESTROY_QUERY:
     3709    {
     3710        SVGA3dCmdDXDestroyQuery *pCmd = (SVGA3dCmdDXDestroyQuery *)pvCmd;
     3711        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3712        vmsvga3dCmdDXDestroyQuery(pThisCC, pCmd);
     3713        break;
     3714    }
     3715
     3716    case SVGA_3D_CMD_DX_BIND_QUERY:
     3717    {
     3718        SVGA3dCmdDXBindQuery *pCmd = (SVGA3dCmdDXBindQuery *)pvCmd;
     3719        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3720        vmsvga3dCmdDXBindQuery(pThisCC, pCmd);
     3721        break;
     3722    }
     3723
     3724    case SVGA_3D_CMD_DX_SET_QUERY_OFFSET:
     3725    {
     3726        SVGA3dCmdDXSetQueryOffset *pCmd = (SVGA3dCmdDXSetQueryOffset *)pvCmd;
     3727        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3728        vmsvga3dCmdDXSetQueryOffset(pThisCC, pCmd);
     3729        break;
     3730    }
     3731
     3732    case SVGA_3D_CMD_DX_BEGIN_QUERY:
     3733    {
     3734        SVGA3dCmdDXBeginQuery *pCmd = (SVGA3dCmdDXBeginQuery *)pvCmd;
     3735        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3736        vmsvga3dCmdDXBeginQuery(pThisCC, pCmd);
     3737        break;
     3738    }
     3739
     3740    case SVGA_3D_CMD_DX_END_QUERY:
     3741    {
     3742        SVGA3dCmdDXEndQuery *pCmd = (SVGA3dCmdDXEndQuery *)pvCmd;
     3743        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3744        vmsvga3dCmdDXEndQuery(pThisCC, pCmd);
     3745        break;
     3746    }
     3747
     3748    case SVGA_3D_CMD_DX_READBACK_QUERY:
     3749    {
     3750        SVGA3dCmdDXReadbackQuery *pCmd = (SVGA3dCmdDXReadbackQuery *)pvCmd;
     3751        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3752        vmsvga3dCmdDXReadbackQuery(pThisCC, pCmd);
     3753        break;
     3754    }
     3755
     3756    case SVGA_3D_CMD_DX_SET_PREDICATION:
     3757    {
     3758        SVGA3dCmdDXSetPredication *pCmd = (SVGA3dCmdDXSetPredication *)pvCmd;
     3759        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3760        vmsvga3dCmdDXSetPredication(pThisCC, pCmd);
     3761        break;
     3762    }
     3763
     3764    case SVGA_3D_CMD_DX_SET_SOTARGETS:
     3765    {
     3766        SVGA3dCmdDXSetSOTargets *pCmd = (SVGA3dCmdDXSetSOTargets *)pvCmd;
     3767        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3768        vmsvga3dCmdDXSetSOTargets(pThisCC, pCmd);
     3769        break;
     3770    }
     3771
     3772    case SVGA_3D_CMD_DX_SET_VIEWPORTS:
     3773    {
     3774        SVGA3dCmdDXSetViewports *pCmd = (SVGA3dCmdDXSetViewports *)pvCmd;
     3775        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3776        vmsvga3dCmdDXSetViewports(pThisCC, pCmd);
     3777        break;
     3778    }
     3779
     3780    case SVGA_3D_CMD_DX_SET_SCISSORRECTS:
     3781    {
     3782        SVGA3dCmdDXSetScissorRects *pCmd = (SVGA3dCmdDXSetScissorRects *)pvCmd;
     3783        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3784        vmsvga3dCmdDXSetScissorRects(pThisCC, pCmd);
     3785        break;
     3786    }
     3787
     3788    case SVGA_3D_CMD_DX_CLEAR_RENDERTARGET_VIEW:
     3789    {
     3790        SVGA3dCmdDXClearRenderTargetView *pCmd = (SVGA3dCmdDXClearRenderTargetView *)pvCmd;
     3791        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3792        vmsvga3dCmdDXClearRenderTargetView(pThisCC, pCmd);
     3793        break;
     3794    }
     3795
     3796    case SVGA_3D_CMD_DX_CLEAR_DEPTHSTENCIL_VIEW:
     3797    {
     3798        SVGA3dCmdDXClearDepthStencilView *pCmd = (SVGA3dCmdDXClearDepthStencilView *)pvCmd;
     3799        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3800        vmsvga3dCmdDXClearDepthStencilView(pThisCC, pCmd);
     3801        break;
     3802    }
     3803
     3804    case SVGA_3D_CMD_DX_PRED_COPY_REGION:
     3805    {
     3806        SVGA3dCmdDXPredCopyRegion *pCmd = (SVGA3dCmdDXPredCopyRegion *)pvCmd;
     3807        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3808        vmsvga3dCmdDXPredCopyRegion(pThisCC, pCmd);
     3809        break;
     3810    }
     3811
     3812    case SVGA_3D_CMD_DX_PRED_COPY:
     3813    {
     3814        SVGA3dCmdDXPredCopy *pCmd = (SVGA3dCmdDXPredCopy *)pvCmd;
     3815        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3816        vmsvga3dCmdDXPredCopy(pThisCC, pCmd);
     3817        break;
     3818    }
     3819
     3820    case SVGA_3D_CMD_DX_STRETCHBLT:
     3821    {
     3822        SVGA3dCmdDXStretchBlt *pCmd = (SVGA3dCmdDXStretchBlt *)pvCmd;
     3823        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3824        vmsvga3dCmdDXStretchBlt(pThisCC, pCmd);
     3825        break;
     3826    }
     3827
     3828    case SVGA_3D_CMD_DX_GENMIPS:
     3829    {
     3830        SVGA3dCmdDXGenMips *pCmd = (SVGA3dCmdDXGenMips *)pvCmd;
     3831        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3832        vmsvga3dCmdDXGenMips(pThisCC, pCmd);
     3833        break;
     3834    }
     3835
     3836    case SVGA_3D_CMD_DX_UPDATE_SUBRESOURCE:
     3837    {
     3838        SVGA3dCmdDXUpdateSubResource *pCmd = (SVGA3dCmdDXUpdateSubResource *)pvCmd;
     3839        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3840        vmsvga3dCmdDXUpdateSubResource(pThisCC, pCmd);
     3841        break;
     3842    }
     3843
     3844    case SVGA_3D_CMD_DX_READBACK_SUBRESOURCE:
     3845    {
     3846        SVGA3dCmdDXReadbackSubResource *pCmd = (SVGA3dCmdDXReadbackSubResource *)pvCmd;
     3847        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3848        vmsvga3dCmdDXReadbackSubResource(pThisCC, pCmd);
     3849        break;
     3850    }
     3851
     3852    case SVGA_3D_CMD_DX_INVALIDATE_SUBRESOURCE:
     3853    {
     3854        SVGA3dCmdDXInvalidateSubResource *pCmd = (SVGA3dCmdDXInvalidateSubResource *)pvCmd;
     3855        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3856        vmsvga3dCmdDXInvalidateSubResource(pThisCC, pCmd);
     3857        break;
     3858    }
     3859
     3860    case SVGA_3D_CMD_DX_DEFINE_SHADERRESOURCE_VIEW:
     3861    {
     3862        SVGA3dCmdDXDefineShaderResourceView *pCmd = (SVGA3dCmdDXDefineShaderResourceView *)pvCmd;
     3863        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3864        vmsvga3dCmdDXDefineShaderResourceView(pThisCC, pCmd);
     3865        break;
     3866    }
     3867
     3868    case SVGA_3D_CMD_DX_DESTROY_SHADERRESOURCE_VIEW:
     3869    {
     3870        SVGA3dCmdDXDestroyShaderResourceView *pCmd = (SVGA3dCmdDXDestroyShaderResourceView *)pvCmd;
     3871        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3872        vmsvga3dCmdDXDestroyShaderResourceView(pThisCC, pCmd);
     3873        break;
     3874    }
     3875
     3876    case SVGA_3D_CMD_DX_DEFINE_RENDERTARGET_VIEW:
     3877    {
     3878        SVGA3dCmdDXDefineRenderTargetView *pCmd = (SVGA3dCmdDXDefineRenderTargetView *)pvCmd;
     3879        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3880        vmsvga3dCmdDXDefineRenderTargetView(pThisCC, pCmd);
     3881        break;
     3882    }
     3883
     3884    case SVGA_3D_CMD_DX_DESTROY_RENDERTARGET_VIEW:
     3885    {
     3886        SVGA3dCmdDXDestroyRenderTargetView *pCmd = (SVGA3dCmdDXDestroyRenderTargetView *)pvCmd;
     3887        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3888        vmsvga3dCmdDXDestroyRenderTargetView(pThisCC, pCmd);
     3889        break;
     3890    }
     3891
     3892    case SVGA_3D_CMD_DX_DEFINE_DEPTHSTENCIL_VIEW:
     3893    {
     3894        SVGA3dCmdDXDefineDepthStencilView *pCmd = (SVGA3dCmdDXDefineDepthStencilView *)pvCmd;
     3895        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3896        vmsvga3dCmdDXDefineDepthStencilView(pThisCC, pCmd);
     3897        break;
     3898    }
     3899
     3900    case SVGA_3D_CMD_DX_DESTROY_DEPTHSTENCIL_VIEW:
     3901    {
     3902        SVGA3dCmdDXDestroyDepthStencilView *pCmd = (SVGA3dCmdDXDestroyDepthStencilView *)pvCmd;
     3903        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3904        vmsvga3dCmdDXDestroyDepthStencilView(pThisCC, pCmd);
     3905        break;
     3906    }
     3907
     3908    case SVGA_3D_CMD_DX_DEFINE_ELEMENTLAYOUT:
     3909    {
     3910        SVGA3dCmdDXDefineElementLayout *pCmd = (SVGA3dCmdDXDefineElementLayout *)pvCmd;
     3911        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3912        vmsvga3dCmdDXDefineElementLayout(pThisCC, pCmd);
     3913        break;
     3914    }
     3915
     3916    case SVGA_3D_CMD_DX_DESTROY_ELEMENTLAYOUT:
     3917    {
     3918        SVGA3dCmdDXDestroyElementLayout *pCmd = (SVGA3dCmdDXDestroyElementLayout *)pvCmd;
     3919        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3920        vmsvga3dCmdDXDestroyElementLayout(pThisCC, pCmd);
     3921        break;
     3922    }
     3923
     3924    case SVGA_3D_CMD_DX_DEFINE_BLEND_STATE:
     3925    {
     3926        SVGA3dCmdDXDefineBlendState *pCmd = (SVGA3dCmdDXDefineBlendState *)pvCmd;
     3927        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3928        vmsvga3dCmdDXDefineBlendState(pThisCC, pCmd);
     3929        break;
     3930    }
     3931
     3932    case SVGA_3D_CMD_DX_DESTROY_BLEND_STATE:
     3933    {
     3934        SVGA3dCmdDXDestroyBlendState *pCmd = (SVGA3dCmdDXDestroyBlendState *)pvCmd;
     3935        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3936        vmsvga3dCmdDXDestroyBlendState(pThisCC, pCmd);
     3937        break;
     3938    }
     3939
     3940    case SVGA_3D_CMD_DX_DEFINE_DEPTHSTENCIL_STATE:
     3941    {
     3942        SVGA3dCmdDXDefineDepthStencilState *pCmd = (SVGA3dCmdDXDefineDepthStencilState *)pvCmd;
     3943        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3944        vmsvga3dCmdDXDefineDepthStencilState(pThisCC, pCmd);
     3945        break;
     3946    }
     3947
     3948    case SVGA_3D_CMD_DX_DESTROY_DEPTHSTENCIL_STATE:
     3949    {
     3950        SVGA3dCmdDXDestroyDepthStencilState *pCmd = (SVGA3dCmdDXDestroyDepthStencilState *)pvCmd;
     3951        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3952        vmsvga3dCmdDXDestroyDepthStencilState(pThisCC, pCmd);
     3953        break;
     3954    }
     3955
     3956    case SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE:
     3957    {
     3958        SVGA3dCmdDXDefineRasterizerState *pCmd = (SVGA3dCmdDXDefineRasterizerState *)pvCmd;
     3959        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3960        vmsvga3dCmdDXDefineRasterizerState(pThisCC, pCmd);
     3961        break;
     3962    }
     3963
     3964    case SVGA_3D_CMD_DX_DESTROY_RASTERIZER_STATE:
     3965    {
     3966        SVGA3dCmdDXDestroyRasterizerState *pCmd = (SVGA3dCmdDXDestroyRasterizerState *)pvCmd;
     3967        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3968        vmsvga3dCmdDXDestroyRasterizerState(pThisCC, pCmd);
     3969        break;
     3970    }
     3971
     3972    case SVGA_3D_CMD_DX_DEFINE_SAMPLER_STATE:
     3973    {
     3974        SVGA3dCmdDXDefineSamplerState *pCmd = (SVGA3dCmdDXDefineSamplerState *)pvCmd;
     3975        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3976        vmsvga3dCmdDXDefineSamplerState(pThisCC, pCmd);
     3977        break;
     3978    }
     3979
     3980    case SVGA_3D_CMD_DX_DESTROY_SAMPLER_STATE:
     3981    {
     3982        SVGA3dCmdDXDestroySamplerState *pCmd = (SVGA3dCmdDXDestroySamplerState *)pvCmd;
     3983        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3984        vmsvga3dCmdDXDestroySamplerState(pThisCC, pCmd);
     3985        break;
     3986    }
     3987
     3988    case SVGA_3D_CMD_DX_DEFINE_SHADER:
     3989    {
     3990        SVGA3dCmdDXDefineShader *pCmd = (SVGA3dCmdDXDefineShader *)pvCmd;
     3991        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     3992        vmsvga3dCmdDXDefineShader(pThisCC, pCmd);
     3993        break;
     3994    }
     3995
     3996    case SVGA_3D_CMD_DX_DESTROY_SHADER:
     3997    {
     3998        SVGA3dCmdDXDestroyShader *pCmd = (SVGA3dCmdDXDestroyShader *)pvCmd;
     3999        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4000        vmsvga3dCmdDXDestroyShader(pThisCC, pCmd);
     4001        break;
     4002    }
     4003
     4004    case SVGA_3D_CMD_DX_BIND_SHADER:
     4005    {
     4006        SVGA3dCmdDXBindShader *pCmd = (SVGA3dCmdDXBindShader *)pvCmd;
     4007        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4008        vmsvga3dCmdDXBindShader(pThisCC, pCmd);
     4009        break;
     4010    }
     4011
     4012    case SVGA_3D_CMD_DX_DEFINE_STREAMOUTPUT:
     4013    {
     4014        SVGA3dCmdDXDefineStreamOutput *pCmd = (SVGA3dCmdDXDefineStreamOutput *)pvCmd;
     4015        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4016        vmsvga3dCmdDXDefineStreamOutput(pThisCC, pCmd);
     4017        break;
     4018    }
     4019
     4020    case SVGA_3D_CMD_DX_DESTROY_STREAMOUTPUT:
     4021    {
     4022        SVGA3dCmdDXDestroyStreamOutput *pCmd = (SVGA3dCmdDXDestroyStreamOutput *)pvCmd;
     4023        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4024        vmsvga3dCmdDXDestroyStreamOutput(pThisCC, pCmd);
     4025        break;
     4026    }
     4027
     4028    case SVGA_3D_CMD_DX_SET_STREAMOUTPUT:
     4029    {
     4030        SVGA3dCmdDXSetStreamOutput *pCmd = (SVGA3dCmdDXSetStreamOutput *)pvCmd;
     4031        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4032        vmsvga3dCmdDXSetStreamOutput(pThisCC, pCmd);
     4033        break;
     4034    }
     4035
     4036    case SVGA_3D_CMD_DX_SET_COTABLE:
     4037    {
     4038        SVGA3dCmdDXSetCOTable *pCmd = (SVGA3dCmdDXSetCOTable *)pvCmd;
     4039        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4040        vmsvga3dCmdDXSetCOTable(pThisCC, pCmd);
     4041        break;
     4042    }
     4043
     4044    case SVGA_3D_CMD_DX_READBACK_COTABLE:
     4045    {
     4046        SVGA3dCmdDXReadbackCOTable *pCmd = (SVGA3dCmdDXReadbackCOTable *)pvCmd;
     4047        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4048        vmsvga3dCmdDXReadbackCOTable(pThisCC, pCmd);
     4049        break;
     4050    }
     4051
     4052    case SVGA_3D_CMD_DX_BUFFER_COPY:
     4053    {
     4054        SVGA3dCmdDXBufferCopy *pCmd = (SVGA3dCmdDXBufferCopy *)pvCmd;
     4055        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4056        vmsvga3dCmdDXBufferCopy(pThisCC, pCmd);
     4057        break;
     4058    }
     4059
     4060    case SVGA_3D_CMD_DX_TRANSFER_FROM_BUFFER:
     4061    {
     4062        SVGA3dCmdDXTransferFromBuffer *pCmd = (SVGA3dCmdDXTransferFromBuffer *)pvCmd;
     4063        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4064        vmsvga3dCmdDXTransferFromBuffer(pThisCC, pCmd);
     4065        break;
     4066    }
     4067
     4068    case SVGA_3D_CMD_DX_SURFACE_COPY_AND_READBACK:
     4069    {
     4070        SVGA3dCmdDXSurfaceCopyAndReadback *pCmd = (SVGA3dCmdDXSurfaceCopyAndReadback *)pvCmd;
     4071        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4072        vmsvga3dCmdDXSurfaceCopyAndReadback(pThisCC, pCmd);
     4073        break;
     4074    }
     4075
     4076    case SVGA_3D_CMD_DX_MOVE_QUERY:
     4077    {
     4078        SVGA3dCmdDXMoveQuery *pCmd = (SVGA3dCmdDXMoveQuery *)pvCmd;
     4079        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4080        vmsvga3dCmdDXMoveQuery(pThisCC, pCmd);
     4081        break;
     4082    }
     4083
     4084    case SVGA_3D_CMD_DX_BIND_ALL_QUERY:
     4085    {
     4086        SVGA3dCmdDXBindAllQuery *pCmd = (SVGA3dCmdDXBindAllQuery *)pvCmd;
     4087        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4088        vmsvga3dCmdDXBindAllQuery(pThisCC, pCmd);
     4089        break;
     4090    }
     4091
     4092    case SVGA_3D_CMD_DX_READBACK_ALL_QUERY:
     4093    {
     4094        SVGA3dCmdDXReadbackAllQuery *pCmd = (SVGA3dCmdDXReadbackAllQuery *)pvCmd;
     4095        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4096        vmsvga3dCmdDXReadbackAllQuery(pThisCC, pCmd);
     4097        break;
     4098    }
     4099
     4100    case SVGA_3D_CMD_DX_PRED_TRANSFER_FROM_BUFFER:
     4101    {
     4102        SVGA3dCmdDXPredTransferFromBuffer *pCmd = (SVGA3dCmdDXPredTransferFromBuffer *)pvCmd;
     4103        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4104        vmsvga3dCmdDXPredTransferFromBuffer(pThisCC, pCmd);
     4105        break;
     4106    }
     4107
     4108    case SVGA_3D_CMD_DX_MOB_FENCE_64:
     4109    {
     4110        SVGA3dCmdDXMobFence64 *pCmd = (SVGA3dCmdDXMobFence64 *)pvCmd;
     4111        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4112        vmsvga3dCmdDXMobFence64(pThisCC, pCmd);
     4113        break;
     4114    }
     4115
     4116    case SVGA_3D_CMD_DX_BIND_ALL_SHADER:
     4117    {
     4118        SVGA3dCmdDXBindAllShader *pCmd = (SVGA3dCmdDXBindAllShader *)pvCmd;
     4119        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4120        vmsvga3dCmdDXBindAllShader(pThisCC, pCmd);
     4121        break;
     4122    }
     4123
     4124    case SVGA_3D_CMD_DX_HINT:
     4125    {
     4126        SVGA3dCmdDXHint *pCmd = (SVGA3dCmdDXHint *)pvCmd;
     4127        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4128        vmsvga3dCmdDXHint(pThisCC, pCmd);
     4129        break;
     4130    }
     4131
     4132    case SVGA_3D_CMD_DX_BUFFER_UPDATE:
     4133    {
     4134        SVGA3dCmdDXBufferUpdate *pCmd = (SVGA3dCmdDXBufferUpdate *)pvCmd;
     4135        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4136        vmsvga3dCmdDXBufferUpdate(pThisCC, pCmd);
     4137        break;
     4138    }
     4139
     4140    case SVGA_3D_CMD_DX_SET_VS_CONSTANT_BUFFER_OFFSET:
     4141    {
     4142        SVGA3dCmdDXSetVSConstantBufferOffset *pCmd = (SVGA3dCmdDXSetVSConstantBufferOffset *)pvCmd;
     4143        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4144        vmsvga3dCmdDXSetVSConstantBufferOffset(pThisCC, pCmd);
     4145        break;
     4146    }
     4147
     4148    case SVGA_3D_CMD_DX_SET_PS_CONSTANT_BUFFER_OFFSET:
     4149    {
     4150        SVGA3dCmdDXSetPSConstantBufferOffset *pCmd = (SVGA3dCmdDXSetPSConstantBufferOffset *)pvCmd;
     4151        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4152        vmsvga3dCmdDXSetPSConstantBufferOffset(pThisCC, pCmd);
     4153        break;
     4154    }
     4155
     4156    case SVGA_3D_CMD_DX_SET_GS_CONSTANT_BUFFER_OFFSET:
     4157    {
     4158        SVGA3dCmdDXSetGSConstantBufferOffset *pCmd = (SVGA3dCmdDXSetGSConstantBufferOffset *)pvCmd;
     4159        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4160        vmsvga3dCmdDXSetGSConstantBufferOffset(pThisCC, pCmd);
     4161        break;
     4162    }
     4163
     4164    case SVGA_3D_CMD_DX_RESERVED1:
     4165    {
     4166        VMSVGA_3D_CMD_NOTIMPL();
     4167        break;
     4168    }
     4169
     4170    case SVGA_3D_CMD_DX_RESERVED2:
     4171    {
     4172        VMSVGA_3D_CMD_NOTIMPL();
     4173        break;
     4174    }
     4175
     4176    case SVGA_3D_CMD_DX_RESERVED3:
     4177    {
     4178        VMSVGA_3D_CMD_NOTIMPL();
     4179        break;
     4180    }
     4181
     4182    case SVGA_3D_CMD_DX_COND_BIND_ALL_SHADER:
     4183    {
     4184        SVGA3dCmdDXCondBindAllShader *pCmd = (SVGA3dCmdDXCondBindAllShader *)pvCmd;
     4185        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
     4186        vmsvga3dCmdDXCondBindAllShader(pThisCC, pCmd);
     4187        break;
     4188    }
     4189
     4190    /* Unsupported commands. */
     4191    case SVGA_3D_CMD_VIDEO_CREATE_DECODER:
     4192    case SVGA_3D_CMD_VIDEO_DESTROY_DECODER:
     4193    case SVGA_3D_CMD_VIDEO_CREATE_PROCESSOR:
     4194    case SVGA_3D_CMD_VIDEO_DESTROY_PROCESSOR:
     4195    case SVGA_3D_CMD_VIDEO_DECODE_START_FRAME:
     4196    case SVGA_3D_CMD_VIDEO_DECODE_RENDER:
     4197    case SVGA_3D_CMD_VIDEO_DECODE_END_FRAME:
     4198    case SVGA_3D_CMD_VIDEO_PROCESS_FRAME:
     4199    /* Prevent the compiler warning. */
     4200    case SVGA_3D_CMD_LEGACY_BASE:
     4201    case SVGA_3D_CMD_MAX:
     4202    case SVGA_3D_CMD_FUTURE_MAX:
     4203    /* No 'default' case */
    24664204        STAM_REL_COUNTER_INC(&pSvgaR3State->StatFifoUnkCmds);
    24674205        ASSERT_GUEST_MSG_FAILED(("enmCmdId=%d\n", enmCmdId));
     4206        LogRelMax(16, ("VMSVGA: unsupported 3D command %d\n", enmCmdId));
    24684207        rcParse = VERR_NOT_IMPLEMENTED;
    24694208        break;
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA-internal.h

    r86855 r86885  
    188188     * To unmap older MOBs when the guest exceeds SVGA_REG_SUGGESTED_GBOBJECT_MEM_SIZE_KB (SVGA_REG_GBOBJECT_MEM_SIZE_KB) value. */
    189189    RTLISTANCHOR            MOBLRUList;
     190
     191# ifdef VBOX_WITH_VMSVGA3D
     192    VMSVGA3DBACKENDFUNCSDX  *pFuncsDX;
     193# endif
    190194
    191195    /** Tracks how much time we waste reading SVGA_REG_BUSY with a busy FIFO. */
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp

    r86864 r86885  
    156156#include "DevVGA.h"
    157157
    158 #ifdef IN_RING3
    159158/* Should be included after DevVGA.h/DevVGA-SVGA.h to pick all defines. */
    160 #include "DevVGA-SVGA-internal.h"
    161 #endif
    162159#ifdef VBOX_WITH_VMSVGA3D
    163160# include "DevVGA-SVGA3d.h"
     
    170167#  endif
    171168# endif
     169#endif
     170#ifdef IN_RING3
     171#include "DevVGA-SVGA-internal.h"
    172172#endif
    173173
     
    36853685                    STAM_REL_COUNTER_INC(&pSvgaR3State->StatFifoUnkCmds);
    36863686                    ASSERT_GUEST_MSG_FAILED(("cmdId=%d\n", cmdId));
     3687                    LogRelMax(16, ("VMSVGA: unsupported command %d\n", cmdId));
    36873688                    CBstatus = SVGA_CB_STATUS_COMMAND_ERROR;
    36883689                    break;
     
    49324933                    STAM_REL_COUNTER_INC(&pSVGAState->StatFifoUnkCmds);
    49334934                    AssertMsgFailed(("enmCmdId=%d\n", enmCmdId));
     4935                    LogRelMax(16, ("VMSVGA: unsupported command %d\n", enmCmdId));
    49344936                }
    49354937            }
     
    56625664        RTCritSectDelete(&pSVGAState->CritSectCmdBuf);
    56635665    }
     5666
     5667# ifdef VBOX_WITH_VMSVGA3D
     5668    RTMemFree(pSVGAState->pFuncsDX);
     5669    pSVGAState->pFuncsDX = NULL;
     5670# endif
    56645671}
    56655672
     
    56755682{
    56765683    int rc = VINF_SUCCESS;
    5677     RT_ZERO(*pSVGAState);
     5684
    56785685    pSVGAState->pDevIns = pDevIns;
    56795686
     
    56955702    return rc;
    56965703}
     5704
     5705# ifdef VBOX_WITH_VMSVGA3D
     5706/**
     5707 * Initializes the optional host 3D backend interfaces.
     5708 *
     5709 * @returns VBox status code.
     5710 * @param   pThisCC   The VGA/VMSVGA state for ring-3.
     5711 */
     5712static int vmsvgaR3Init3dInterfaces(PVGASTATECC pThisCC)
     5713{
     5714    PVMSVGAR3STATE pSVGAState = pThisCC->svga.pSvgaR3State;
     5715
     5716    int rc = vmsvga3dQueryInterface(pThisCC, VMSVGA3D_BACKEND_INTERFACE_NAME_DX, NULL, sizeof(VMSVGA3DBACKENDFUNCSDX));
     5717    if (RT_SUCCESS(rc))
     5718    {
     5719        pSVGAState->pFuncsDX = (VMSVGA3DBACKENDFUNCSDX *)RTMemAllocZ(sizeof(VMSVGA3DBACKENDFUNCSDX));
     5720        AssertReturn(pSVGAState->pFuncsDX, VERR_NO_MEMORY);
     5721
     5722        vmsvga3dQueryInterface(pThisCC, VMSVGA3D_BACKEND_INTERFACE_NAME_DX, pSVGAState->pFuncsDX, sizeof(VMSVGA3DBACKENDFUNCSDX));
     5723    }
     5724
     5725    return VINF_SUCCESS;
     5726}
     5727# endif
    56975728
    56985729/**
     
    57255756//                                  |  SVGA_CAP_CMD_BUFFERS_2   /* Support for SVGA_REG_CMD_PREPEND_LOW/HIGH */
    57265757//                                  |  SVGA_CAP_GBOBJECTS       /* Enable guest-backed objects and surfaces. */
    5727 //                                  |  SVGA_CAP_CMD_BUFFERS_3   /* AKA SVGA_CAP_DX. Enable support for DX commands, and command buffers in a mob. */
    57285758                                  ;
     5759
     5760# ifdef VBOX_WITH_VMSVGA3D
     5761        PVMSVGAR3STATE pSVGAState = pThisCC->svga.pSvgaR3State;
     5762        if (pSVGAState->pFuncsDX)
     5763           pThis->svga.u32DeviceCaps |= SVGA_CAP_CMD_BUFFERS_3; /* AKA SVGA_CAP_DX. Enable support for DX commands, and command buffers in a mob. */
     5764# endif
    57295765    }
    57305766
     
    58605896    RT_BZERO(pThisCC->svga.pbVgaFrameBufferR3, VMSVGA_VGA_FB_BACKUP_SIZE);
    58615897
     5898# ifdef VBOX_WITH_VMSVGA3D
     5899    /* Device capabilities depend on this. */
     5900    if (pThis->svga.f3DEnabled)
     5901        vmsvgaR3Init3dInterfaces(pThisCC);
     5902# endif
     5903
    58625904    /* Initialize FIFO and register capabilities. */
    58635905    vmsvgaR3InitCaps(pThis, pThisCC);
     
    59866028    AssertRCReturn(rc, rc);
    59876029
    5988     /* Initialize FIFO and register capabilities. */
    5989     vmsvgaR3InitCaps(pThis, pThisCC);
    5990 
    59916030# ifdef VBOX_WITH_VMSVGA3D
    59926031    if (pThis->svga.f3DEnabled)
    59936032    {
    59946033        rc = vmsvga3dInit(pDevIns, pThis, pThisCC);
    5995         if (RT_FAILURE(rc))
     6034        if (RT_SUCCESS(rc))
     6035        {
     6036            /* Device capabilities depend on this. */
     6037            vmsvgaR3Init3dInterfaces(pThisCC);
     6038        }
     6039        else
    59966040        {
    59976041            LogRel(("VMSVGA3d: 3D support disabled! (vmsvga3dInit -> %Rrc)\n", rc));
     
    60006044    }
    60016045# endif
     6046
     6047    /* Initialize FIFO and register capabilities. */
     6048    vmsvgaR3InitCaps(pThis, pThisCC);
     6049
    60026050    /* VRAM tracking is enabled by default during bootup. */
    60036051    pThis->svga.fVRAMTracking = true;
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-win-dx.cpp

    r86864 r86885  
    650650    if (pState->pBackend)
    651651    {
    652         vmsvga3dReset(pThisCC);
     652        D3D_RELEASE(pState->pBackend->pDevice);
     653        D3D_RELEASE(pState->pBackend->pImmediateContext);
     654        D3D_RELEASE(pState->pBackend->pDxgiFactory);
    653655
    654656        RTMemFree(pState->pBackend);
     
    665667    AssertReturn(pState, VERR_INVALID_STATE);
    666668
    667     PVMSVGA3DBACKEND pBackend = pState->pBackend;
    668     if (pBackend)
    669     {
    670         D3D_RELEASE(pBackend->pDevice);
    671         D3D_RELEASE(pBackend->pImmediateContext);
    672         D3D_RELEASE(pBackend->pDxgiFactory);
    673     }
     669    /** @todo Cleanup all resources and recreate Device, ImmediateContext etc to be at the same state as after poweron. */
    674670
    675671    return VINF_SUCCESS;
     
    22822278    return VINF_SUCCESS;
    22832279}
     2280
     2281
     2282static DECLCALLBACK(void) vmsvga3dDXDefineContext(PVMSVGA3DSTATE p3dState)
     2283{
     2284    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2285
     2286    RT_NOREF(pBackend);
     2287    AssertFailed(); /** @todo Implement */
     2288}
     2289
     2290
     2291static DECLCALLBACK(void) vmsvga3dDXDestroyContext(PVMSVGA3DSTATE p3dState)
     2292{
     2293    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2294
     2295    RT_NOREF(pBackend);
     2296    AssertFailed(); /** @todo Implement */
     2297}
     2298
     2299
     2300static DECLCALLBACK(void) vmsvga3dDXBindContext(PVMSVGA3DSTATE p3dState)
     2301{
     2302    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2303
     2304    RT_NOREF(pBackend);
     2305    AssertFailed(); /** @todo Implement */
     2306}
     2307
     2308
     2309static DECLCALLBACK(void) vmsvga3dDXReadbackContext(PVMSVGA3DSTATE p3dState)
     2310{
     2311    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2312
     2313    RT_NOREF(pBackend);
     2314    AssertFailed(); /** @todo Implement */
     2315}
     2316
     2317
     2318static DECLCALLBACK(void) vmsvga3dDXInvalidateContext(PVMSVGA3DSTATE p3dState)
     2319{
     2320    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2321
     2322    RT_NOREF(pBackend);
     2323    AssertFailed(); /** @todo Implement */
     2324}
     2325
     2326
     2327static DECLCALLBACK(void) vmsvga3dDXSetSingleConstantBuffer(PVMSVGA3DSTATE p3dState)
     2328{
     2329    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2330
     2331    RT_NOREF(pBackend);
     2332    AssertFailed(); /** @todo Implement */
     2333}
     2334
     2335
     2336static DECLCALLBACK(void) vmsvga3dDXSetShaderResources(PVMSVGA3DSTATE p3dState)
     2337{
     2338    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2339
     2340    RT_NOREF(pBackend);
     2341    AssertFailed(); /** @todo Implement */
     2342}
     2343
     2344
     2345static DECLCALLBACK(void) vmsvga3dDXSetShader(PVMSVGA3DSTATE p3dState)
     2346{
     2347    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2348
     2349    RT_NOREF(pBackend);
     2350    AssertFailed(); /** @todo Implement */
     2351}
     2352
     2353
     2354static DECLCALLBACK(void) vmsvga3dDXSetSamplers(PVMSVGA3DSTATE p3dState)
     2355{
     2356    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2357
     2358    RT_NOREF(pBackend);
     2359    AssertFailed(); /** @todo Implement */
     2360}
     2361
     2362
     2363static DECLCALLBACK(void) vmsvga3dDXDraw(PVMSVGA3DSTATE p3dState)
     2364{
     2365    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2366
     2367    RT_NOREF(pBackend);
     2368    AssertFailed(); /** @todo Implement */
     2369}
     2370
     2371
     2372static DECLCALLBACK(void) vmsvga3dDXDrawIndexed(PVMSVGA3DSTATE p3dState)
     2373{
     2374    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2375
     2376    RT_NOREF(pBackend);
     2377    AssertFailed(); /** @todo Implement */
     2378}
     2379
     2380
     2381static DECLCALLBACK(void) vmsvga3dDXDrawInstanced(PVMSVGA3DSTATE p3dState)
     2382{
     2383    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2384
     2385    RT_NOREF(pBackend);
     2386    AssertFailed(); /** @todo Implement */
     2387}
     2388
     2389
     2390static DECLCALLBACK(void) vmsvga3dDXDrawIndexedInstanced(PVMSVGA3DSTATE p3dState)
     2391{
     2392    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2393
     2394    RT_NOREF(pBackend);
     2395    AssertFailed(); /** @todo Implement */
     2396}
     2397
     2398
     2399static DECLCALLBACK(void) vmsvga3dDXDrawAuto(PVMSVGA3DSTATE p3dState)
     2400{
     2401    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2402
     2403    RT_NOREF(pBackend);
     2404    AssertFailed(); /** @todo Implement */
     2405}
     2406
     2407
     2408static DECLCALLBACK(void) vmsvga3dDXSetInputLayout(PVMSVGA3DSTATE p3dState)
     2409{
     2410    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2411
     2412    RT_NOREF(pBackend);
     2413    AssertFailed(); /** @todo Implement */
     2414}
     2415
     2416
     2417static DECLCALLBACK(void) vmsvga3dDXSetVertexBuffers(PVMSVGA3DSTATE p3dState)
     2418{
     2419    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2420
     2421    RT_NOREF(pBackend);
     2422    AssertFailed(); /** @todo Implement */
     2423}
     2424
     2425
     2426static DECLCALLBACK(void) vmsvga3dDXSetIndexBuffer(PVMSVGA3DSTATE p3dState)
     2427{
     2428    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2429
     2430    RT_NOREF(pBackend);
     2431    AssertFailed(); /** @todo Implement */
     2432}
     2433
     2434
     2435static DECLCALLBACK(void) vmsvga3dDXSetTopology(PVMSVGA3DSTATE p3dState)
     2436{
     2437    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2438
     2439    RT_NOREF(pBackend);
     2440    AssertFailed(); /** @todo Implement */
     2441}
     2442
     2443
     2444static DECLCALLBACK(void) vmsvga3dDXSetRenderTargets(PVMSVGA3DSTATE p3dState)
     2445{
     2446    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2447
     2448    RT_NOREF(pBackend);
     2449    AssertFailed(); /** @todo Implement */
     2450}
     2451
     2452
     2453static DECLCALLBACK(void) vmsvga3dDXSetBlendState(PVMSVGA3DSTATE p3dState)
     2454{
     2455    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2456
     2457    RT_NOREF(pBackend);
     2458    AssertFailed(); /** @todo Implement */
     2459}
     2460
     2461
     2462static DECLCALLBACK(void) vmsvga3dDXSetDepthStencilState(PVMSVGA3DSTATE p3dState)
     2463{
     2464    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2465
     2466    RT_NOREF(pBackend);
     2467    AssertFailed(); /** @todo Implement */
     2468}
     2469
     2470
     2471static DECLCALLBACK(void) vmsvga3dDXSetRasterizerState(PVMSVGA3DSTATE p3dState)
     2472{
     2473    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2474
     2475    RT_NOREF(pBackend);
     2476    AssertFailed(); /** @todo Implement */
     2477}
     2478
     2479
     2480static DECLCALLBACK(void) vmsvga3dDXDefineQuery(PVMSVGA3DSTATE p3dState)
     2481{
     2482    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2483
     2484    RT_NOREF(pBackend);
     2485    AssertFailed(); /** @todo Implement */
     2486}
     2487
     2488
     2489static DECLCALLBACK(void) vmsvga3dDXDestroyQuery(PVMSVGA3DSTATE p3dState)
     2490{
     2491    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2492
     2493    RT_NOREF(pBackend);
     2494    AssertFailed(); /** @todo Implement */
     2495}
     2496
     2497
     2498static DECLCALLBACK(void) vmsvga3dDXBindQuery(PVMSVGA3DSTATE p3dState)
     2499{
     2500    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2501
     2502    RT_NOREF(pBackend);
     2503    AssertFailed(); /** @todo Implement */
     2504}
     2505
     2506
     2507static DECLCALLBACK(void) vmsvga3dDXSetQueryOffset(PVMSVGA3DSTATE p3dState)
     2508{
     2509    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2510
     2511    RT_NOREF(pBackend);
     2512    AssertFailed(); /** @todo Implement */
     2513}
     2514
     2515
     2516static DECLCALLBACK(void) vmsvga3dDXBeginQuery(PVMSVGA3DSTATE p3dState)
     2517{
     2518    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2519
     2520    RT_NOREF(pBackend);
     2521    AssertFailed(); /** @todo Implement */
     2522}
     2523
     2524
     2525static DECLCALLBACK(void) vmsvga3dDXEndQuery(PVMSVGA3DSTATE p3dState)
     2526{
     2527    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2528
     2529    RT_NOREF(pBackend);
     2530    AssertFailed(); /** @todo Implement */
     2531}
     2532
     2533
     2534static DECLCALLBACK(void) vmsvga3dDXReadbackQuery(PVMSVGA3DSTATE p3dState)
     2535{
     2536    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2537
     2538    RT_NOREF(pBackend);
     2539    AssertFailed(); /** @todo Implement */
     2540}
     2541
     2542
     2543static DECLCALLBACK(void) vmsvga3dDXSetPredication(PVMSVGA3DSTATE p3dState)
     2544{
     2545    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2546
     2547    RT_NOREF(pBackend);
     2548    AssertFailed(); /** @todo Implement */
     2549}
     2550
     2551
     2552static DECLCALLBACK(void) vmsvga3dDXSetSOTargets(PVMSVGA3DSTATE p3dState)
     2553{
     2554    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2555
     2556    RT_NOREF(pBackend);
     2557    AssertFailed(); /** @todo Implement */
     2558}
     2559
     2560
     2561static DECLCALLBACK(void) vmsvga3dDXSetViewports(PVMSVGA3DSTATE p3dState)
     2562{
     2563    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2564
     2565    RT_NOREF(pBackend);
     2566    AssertFailed(); /** @todo Implement */
     2567}
     2568
     2569
     2570static DECLCALLBACK(void) vmsvga3dDXSetScissorRects(PVMSVGA3DSTATE p3dState)
     2571{
     2572    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2573
     2574    RT_NOREF(pBackend);
     2575    AssertFailed(); /** @todo Implement */
     2576}
     2577
     2578
     2579static DECLCALLBACK(void) vmsvga3dDXClearRenderTargetView(PVMSVGA3DSTATE p3dState)
     2580{
     2581    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2582
     2583    RT_NOREF(pBackend);
     2584    AssertFailed(); /** @todo Implement */
     2585}
     2586
     2587
     2588static DECLCALLBACK(void) vmsvga3dDXClearDepthStencilView(PVMSVGA3DSTATE p3dState)
     2589{
     2590    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2591
     2592    RT_NOREF(pBackend);
     2593    AssertFailed(); /** @todo Implement */
     2594}
     2595
     2596
     2597static DECLCALLBACK(void) vmsvga3dDXPredCopyRegion(PVMSVGA3DSTATE p3dState)
     2598{
     2599    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2600
     2601    RT_NOREF(pBackend);
     2602    AssertFailed(); /** @todo Implement */
     2603}
     2604
     2605
     2606static DECLCALLBACK(void) vmsvga3dDXPredCopy(PVMSVGA3DSTATE p3dState)
     2607{
     2608    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2609
     2610    RT_NOREF(pBackend);
     2611    AssertFailed(); /** @todo Implement */
     2612}
     2613
     2614
     2615static DECLCALLBACK(void) vmsvga3dDXStretchBlt(PVMSVGA3DSTATE p3dState)
     2616{
     2617    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2618
     2619    RT_NOREF(pBackend);
     2620    AssertFailed(); /** @todo Implement */
     2621}
     2622
     2623
     2624static DECLCALLBACK(void) vmsvga3dDXGenMips(PVMSVGA3DSTATE p3dState)
     2625{
     2626    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2627
     2628    RT_NOREF(pBackend);
     2629    AssertFailed(); /** @todo Implement */
     2630}
     2631
     2632
     2633static DECLCALLBACK(void) vmsvga3dDXUpdateSubResource(PVMSVGA3DSTATE p3dState)
     2634{
     2635    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2636
     2637    RT_NOREF(pBackend);
     2638    AssertFailed(); /** @todo Implement */
     2639}
     2640
     2641
     2642static DECLCALLBACK(void) vmsvga3dDXReadbackSubResource(PVMSVGA3DSTATE p3dState)
     2643{
     2644    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2645
     2646    RT_NOREF(pBackend);
     2647    AssertFailed(); /** @todo Implement */
     2648}
     2649
     2650
     2651static DECLCALLBACK(void) vmsvga3dDXInvalidateSubResource(PVMSVGA3DSTATE p3dState)
     2652{
     2653    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2654
     2655    RT_NOREF(pBackend);
     2656    AssertFailed(); /** @todo Implement */
     2657}
     2658
     2659
     2660static DECLCALLBACK(void) vmsvga3dDXDefineShaderResourceView(PVMSVGA3DSTATE p3dState)
     2661{
     2662    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2663
     2664    RT_NOREF(pBackend);
     2665    AssertFailed(); /** @todo Implement */
     2666}
     2667
     2668
     2669static DECLCALLBACK(void) vmsvga3dDXDestroyShaderResourceView(PVMSVGA3DSTATE p3dState)
     2670{
     2671    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2672
     2673    RT_NOREF(pBackend);
     2674    AssertFailed(); /** @todo Implement */
     2675}
     2676
     2677
     2678static DECLCALLBACK(void) vmsvga3dDXDefineRenderTargetView(PVMSVGA3DSTATE p3dState)
     2679{
     2680    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2681
     2682    RT_NOREF(pBackend);
     2683    AssertFailed(); /** @todo Implement */
     2684}
     2685
     2686
     2687static DECLCALLBACK(void) vmsvga3dDXDestroyRenderTargetView(PVMSVGA3DSTATE p3dState)
     2688{
     2689    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2690
     2691    RT_NOREF(pBackend);
     2692    AssertFailed(); /** @todo Implement */
     2693}
     2694
     2695
     2696static DECLCALLBACK(void) vmsvga3dDXDefineDepthStencilView(PVMSVGA3DSTATE p3dState)
     2697{
     2698    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2699
     2700    RT_NOREF(pBackend);
     2701    AssertFailed(); /** @todo Implement */
     2702}
     2703
     2704
     2705static DECLCALLBACK(void) vmsvga3dDXDestroyDepthStencilView(PVMSVGA3DSTATE p3dState)
     2706{
     2707    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2708
     2709    RT_NOREF(pBackend);
     2710    AssertFailed(); /** @todo Implement */
     2711}
     2712
     2713
     2714static DECLCALLBACK(void) vmsvga3dDXDefineElementLayout(PVMSVGA3DSTATE p3dState)
     2715{
     2716    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2717
     2718    RT_NOREF(pBackend);
     2719    AssertFailed(); /** @todo Implement */
     2720}
     2721
     2722
     2723static DECLCALLBACK(void) vmsvga3dDXDestroyElementLayout(PVMSVGA3DSTATE p3dState)
     2724{
     2725    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2726
     2727    RT_NOREF(pBackend);
     2728    AssertFailed(); /** @todo Implement */
     2729}
     2730
     2731
     2732static DECLCALLBACK(void) vmsvga3dDXDefineBlendState(PVMSVGA3DSTATE p3dState)
     2733{
     2734    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2735
     2736    RT_NOREF(pBackend);
     2737    AssertFailed(); /** @todo Implement */
     2738}
     2739
     2740
     2741static DECLCALLBACK(void) vmsvga3dDXDestroyBlendState(PVMSVGA3DSTATE p3dState)
     2742{
     2743    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2744
     2745    RT_NOREF(pBackend);
     2746    AssertFailed(); /** @todo Implement */
     2747}
     2748
     2749
     2750static DECLCALLBACK(void) vmsvga3dDXDefineDepthStencilState(PVMSVGA3DSTATE p3dState)
     2751{
     2752    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2753
     2754    RT_NOREF(pBackend);
     2755    AssertFailed(); /** @todo Implement */
     2756}
     2757
     2758
     2759static DECLCALLBACK(void) vmsvga3dDXDestroyDepthStencilState(PVMSVGA3DSTATE p3dState)
     2760{
     2761    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2762
     2763    RT_NOREF(pBackend);
     2764    AssertFailed(); /** @todo Implement */
     2765}
     2766
     2767
     2768static DECLCALLBACK(void) vmsvga3dDXDefineRasterizerState(PVMSVGA3DSTATE p3dState)
     2769{
     2770    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2771
     2772    RT_NOREF(pBackend);
     2773    AssertFailed(); /** @todo Implement */
     2774}
     2775
     2776
     2777static DECLCALLBACK(void) vmsvga3dDXDestroyRasterizerState(PVMSVGA3DSTATE p3dState)
     2778{
     2779    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2780
     2781    RT_NOREF(pBackend);
     2782    AssertFailed(); /** @todo Implement */
     2783}
     2784
     2785
     2786static DECLCALLBACK(void) vmsvga3dDXDefineSamplerState(PVMSVGA3DSTATE p3dState)
     2787{
     2788    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2789
     2790    RT_NOREF(pBackend);
     2791    AssertFailed(); /** @todo Implement */
     2792}
     2793
     2794
     2795static DECLCALLBACK(void) vmsvga3dDXDestroySamplerState(PVMSVGA3DSTATE p3dState)
     2796{
     2797    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2798
     2799    RT_NOREF(pBackend);
     2800    AssertFailed(); /** @todo Implement */
     2801}
     2802
     2803
     2804static DECLCALLBACK(void) vmsvga3dDXDefineShader(PVMSVGA3DSTATE p3dState)
     2805{
     2806    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2807
     2808    RT_NOREF(pBackend);
     2809    AssertFailed(); /** @todo Implement */
     2810}
     2811
     2812
     2813static DECLCALLBACK(void) vmsvga3dDXDestroyShader(PVMSVGA3DSTATE p3dState)
     2814{
     2815    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2816
     2817    RT_NOREF(pBackend);
     2818    AssertFailed(); /** @todo Implement */
     2819}
     2820
     2821
     2822static DECLCALLBACK(void) vmsvga3dDXBindShader(PVMSVGA3DSTATE p3dState)
     2823{
     2824    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2825
     2826    RT_NOREF(pBackend);
     2827    AssertFailed(); /** @todo Implement */
     2828}
     2829
     2830
     2831static DECLCALLBACK(void) vmsvga3dDXDefineStreamOutput(PVMSVGA3DSTATE p3dState)
     2832{
     2833    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2834
     2835    RT_NOREF(pBackend);
     2836    AssertFailed(); /** @todo Implement */
     2837}
     2838
     2839
     2840static DECLCALLBACK(void) vmsvga3dDXDestroyStreamOutput(PVMSVGA3DSTATE p3dState)
     2841{
     2842    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2843
     2844    RT_NOREF(pBackend);
     2845    AssertFailed(); /** @todo Implement */
     2846}
     2847
     2848
     2849static DECLCALLBACK(void) vmsvga3dDXSetStreamOutput(PVMSVGA3DSTATE p3dState)
     2850{
     2851    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2852
     2853    RT_NOREF(pBackend);
     2854    AssertFailed(); /** @todo Implement */
     2855}
     2856
     2857
     2858static DECLCALLBACK(void) vmsvga3dDXSetCOTable(PVMSVGA3DSTATE p3dState)
     2859{
     2860    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2861
     2862    RT_NOREF(pBackend);
     2863    AssertFailed(); /** @todo Implement */
     2864}
     2865
     2866
     2867static DECLCALLBACK(void) vmsvga3dDXReadbackCOTable(PVMSVGA3DSTATE p3dState)
     2868{
     2869    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2870
     2871    RT_NOREF(pBackend);
     2872    AssertFailed(); /** @todo Implement */
     2873}
     2874
     2875
     2876static DECLCALLBACK(void) vmsvga3dDXBufferCopy(PVMSVGA3DSTATE p3dState)
     2877{
     2878    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2879
     2880    RT_NOREF(pBackend);
     2881    AssertFailed(); /** @todo Implement */
     2882}
     2883
     2884
     2885static DECLCALLBACK(void) vmsvga3dDXTransferFromBuffer(PVMSVGA3DSTATE p3dState)
     2886{
     2887    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2888
     2889    RT_NOREF(pBackend);
     2890    AssertFailed(); /** @todo Implement */
     2891}
     2892
     2893
     2894static DECLCALLBACK(void) vmsvga3dDXSurfaceCopyAndReadback(PVMSVGA3DSTATE p3dState)
     2895{
     2896    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2897
     2898    RT_NOREF(pBackend);
     2899    AssertFailed(); /** @todo Implement */
     2900}
     2901
     2902
     2903static DECLCALLBACK(void) vmsvga3dDXMoveQuery(PVMSVGA3DSTATE p3dState)
     2904{
     2905    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2906
     2907    RT_NOREF(pBackend);
     2908    AssertFailed(); /** @todo Implement */
     2909}
     2910
     2911
     2912static DECLCALLBACK(void) vmsvga3dDXBindAllQuery(PVMSVGA3DSTATE p3dState)
     2913{
     2914    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2915
     2916    RT_NOREF(pBackend);
     2917    AssertFailed(); /** @todo Implement */
     2918}
     2919
     2920
     2921static DECLCALLBACK(void) vmsvga3dDXReadbackAllQuery(PVMSVGA3DSTATE p3dState)
     2922{
     2923    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2924
     2925    RT_NOREF(pBackend);
     2926    AssertFailed(); /** @todo Implement */
     2927}
     2928
     2929
     2930static DECLCALLBACK(void) vmsvga3dDXPredTransferFromBuffer(PVMSVGA3DSTATE p3dState)
     2931{
     2932    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2933
     2934    RT_NOREF(pBackend);
     2935    AssertFailed(); /** @todo Implement */
     2936}
     2937
     2938
     2939static DECLCALLBACK(void) vmsvga3dDXMobFence64(PVMSVGA3DSTATE p3dState)
     2940{
     2941    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2942
     2943    RT_NOREF(pBackend);
     2944    AssertFailed(); /** @todo Implement */
     2945}
     2946
     2947
     2948static DECLCALLBACK(void) vmsvga3dDXBindAllShader(PVMSVGA3DSTATE p3dState)
     2949{
     2950    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2951
     2952    RT_NOREF(pBackend);
     2953    AssertFailed(); /** @todo Implement */
     2954}
     2955
     2956
     2957static DECLCALLBACK(void) vmsvga3dDXHint(PVMSVGA3DSTATE p3dState)
     2958{
     2959    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2960
     2961    RT_NOREF(pBackend);
     2962    AssertFailed(); /** @todo Implement */
     2963}
     2964
     2965
     2966static DECLCALLBACK(void) vmsvga3dDXBufferUpdate(PVMSVGA3DSTATE p3dState)
     2967{
     2968    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2969
     2970    RT_NOREF(pBackend);
     2971    AssertFailed(); /** @todo Implement */
     2972}
     2973
     2974
     2975static DECLCALLBACK(void) vmsvga3dDXSetVSConstantBufferOffset(PVMSVGA3DSTATE p3dState)
     2976{
     2977    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2978
     2979    RT_NOREF(pBackend);
     2980    AssertFailed(); /** @todo Implement */
     2981}
     2982
     2983
     2984static DECLCALLBACK(void) vmsvga3dDXSetPSConstantBufferOffset(PVMSVGA3DSTATE p3dState)
     2985{
     2986    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2987
     2988    RT_NOREF(pBackend);
     2989    AssertFailed(); /** @todo Implement */
     2990}
     2991
     2992
     2993static DECLCALLBACK(void) vmsvga3dDXSetGSConstantBufferOffset(PVMSVGA3DSTATE p3dState)
     2994{
     2995    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     2996
     2997    RT_NOREF(pBackend);
     2998    AssertFailed(); /** @todo Implement */
     2999}
     3000
     3001
     3002static DECLCALLBACK(void) vmsvga3dDXCondBindAllShader(PVMSVGA3DSTATE p3dState)
     3003{
     3004    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     3005
     3006    RT_NOREF(pBackend);
     3007    AssertFailed(); /** @todo Implement */
     3008}
     3009
     3010
     3011int vmsvga3dQueryInterface(PVGASTATECC pThisCC, char const *pszInterfaceName, void *pvInterfaceFuncs, size_t cbInterfaceFuncs)
     3012{
     3013    PVMSVGA3DSTATE p3dState = pThisCC->svga.p3dState;
     3014    AssertReturn(p3dState, VERR_NOT_SUPPORTED);
     3015
     3016    PVMSVGA3DBACKEND pBackend = p3dState->pBackend;
     3017    AssertReturn(pBackend, VERR_NOT_SUPPORTED);
     3018
     3019    if (pvInterfaceFuncs)
     3020        RT_BZERO(pvInterfaceFuncs, cbInterfaceFuncs);
     3021
     3022    int rc = VINF_SUCCESS;
     3023    if (RTStrCmp(pszInterfaceName, VMSVGA3D_BACKEND_INTERFACE_NAME_DX) == 0)
     3024    {
     3025        if (cbInterfaceFuncs == sizeof(VMSVGA3DBACKENDFUNCSDX))
     3026        {
     3027            if (pvInterfaceFuncs)
     3028            {
     3029                VMSVGA3DBACKENDFUNCSDX *p = (VMSVGA3DBACKENDFUNCSDX *)pvInterfaceFuncs;
     3030                p->pfnDXDefineContext             = vmsvga3dDXDefineContext;
     3031                p->pfnDXDestroyContext            = vmsvga3dDXDestroyContext;
     3032                p->pfnDXBindContext               = vmsvga3dDXBindContext;
     3033                p->pfnDXReadbackContext           = vmsvga3dDXReadbackContext;
     3034                p->pfnDXInvalidateContext         = vmsvga3dDXInvalidateContext;
     3035                p->pfnDXSetSingleConstantBuffer   = vmsvga3dDXSetSingleConstantBuffer;
     3036                p->pfnDXSetShaderResources        = vmsvga3dDXSetShaderResources;
     3037                p->pfnDXSetShader                 = vmsvga3dDXSetShader;
     3038                p->pfnDXSetSamplers               = vmsvga3dDXSetSamplers;
     3039                p->pfnDXDraw                      = vmsvga3dDXDraw;
     3040                p->pfnDXDrawIndexed               = vmsvga3dDXDrawIndexed;
     3041                p->pfnDXDrawInstanced             = vmsvga3dDXDrawInstanced;
     3042                p->pfnDXDrawIndexedInstanced      = vmsvga3dDXDrawIndexedInstanced;
     3043                p->pfnDXDrawAuto                  = vmsvga3dDXDrawAuto;
     3044                p->pfnDXSetInputLayout            = vmsvga3dDXSetInputLayout;
     3045                p->pfnDXSetVertexBuffers          = vmsvga3dDXSetVertexBuffers;
     3046                p->pfnDXSetIndexBuffer            = vmsvga3dDXSetIndexBuffer;
     3047                p->pfnDXSetTopology               = vmsvga3dDXSetTopology;
     3048                p->pfnDXSetRenderTargets          = vmsvga3dDXSetRenderTargets;
     3049                p->pfnDXSetBlendState             = vmsvga3dDXSetBlendState;
     3050                p->pfnDXSetDepthStencilState      = vmsvga3dDXSetDepthStencilState;
     3051                p->pfnDXSetRasterizerState        = vmsvga3dDXSetRasterizerState;
     3052                p->pfnDXDefineQuery               = vmsvga3dDXDefineQuery;
     3053                p->pfnDXDestroyQuery              = vmsvga3dDXDestroyQuery;
     3054                p->pfnDXBindQuery                 = vmsvga3dDXBindQuery;
     3055                p->pfnDXSetQueryOffset            = vmsvga3dDXSetQueryOffset;
     3056                p->pfnDXBeginQuery                = vmsvga3dDXBeginQuery;
     3057                p->pfnDXEndQuery                  = vmsvga3dDXEndQuery;
     3058                p->pfnDXReadbackQuery             = vmsvga3dDXReadbackQuery;
     3059                p->pfnDXSetPredication            = vmsvga3dDXSetPredication;
     3060                p->pfnDXSetSOTargets              = vmsvga3dDXSetSOTargets;
     3061                p->pfnDXSetViewports              = vmsvga3dDXSetViewports;
     3062                p->pfnDXSetScissorRects           = vmsvga3dDXSetScissorRects;
     3063                p->pfnDXClearRenderTargetView     = vmsvga3dDXClearRenderTargetView;
     3064                p->pfnDXClearDepthStencilView     = vmsvga3dDXClearDepthStencilView;
     3065                p->pfnDXPredCopyRegion            = vmsvga3dDXPredCopyRegion;
     3066                p->pfnDXPredCopy                  = vmsvga3dDXPredCopy;
     3067                p->pfnDXStretchBlt                = vmsvga3dDXStretchBlt;
     3068                p->pfnDXGenMips                   = vmsvga3dDXGenMips;
     3069                p->pfnDXUpdateSubResource         = vmsvga3dDXUpdateSubResource;
     3070                p->pfnDXReadbackSubResource       = vmsvga3dDXReadbackSubResource;
     3071                p->pfnDXInvalidateSubResource     = vmsvga3dDXInvalidateSubResource;
     3072                p->pfnDXDefineShaderResourceView  = vmsvga3dDXDefineShaderResourceView;
     3073                p->pfnDXDestroyShaderResourceView = vmsvga3dDXDestroyShaderResourceView;
     3074                p->pfnDXDefineRenderTargetView    = vmsvga3dDXDefineRenderTargetView;
     3075                p->pfnDXDestroyRenderTargetView   = vmsvga3dDXDestroyRenderTargetView;
     3076                p->pfnDXDefineDepthStencilView    = vmsvga3dDXDefineDepthStencilView;
     3077                p->pfnDXDestroyDepthStencilView   = vmsvga3dDXDestroyDepthStencilView;
     3078                p->pfnDXDefineElementLayout       = vmsvga3dDXDefineElementLayout;
     3079                p->pfnDXDestroyElementLayout      = vmsvga3dDXDestroyElementLayout;
     3080                p->pfnDXDefineBlendState          = vmsvga3dDXDefineBlendState;
     3081                p->pfnDXDestroyBlendState         = vmsvga3dDXDestroyBlendState;
     3082                p->pfnDXDefineDepthStencilState   = vmsvga3dDXDefineDepthStencilState;
     3083                p->pfnDXDestroyDepthStencilState  = vmsvga3dDXDestroyDepthStencilState;
     3084                p->pfnDXDefineRasterizerState     = vmsvga3dDXDefineRasterizerState;
     3085                p->pfnDXDestroyRasterizerState    = vmsvga3dDXDestroyRasterizerState;
     3086                p->pfnDXDefineSamplerState        = vmsvga3dDXDefineSamplerState;
     3087                p->pfnDXDestroySamplerState       = vmsvga3dDXDestroySamplerState;
     3088                p->pfnDXDefineShader              = vmsvga3dDXDefineShader;
     3089                p->pfnDXDestroyShader             = vmsvga3dDXDestroyShader;
     3090                p->pfnDXBindShader                = vmsvga3dDXBindShader;
     3091                p->pfnDXDefineStreamOutput        = vmsvga3dDXDefineStreamOutput;
     3092                p->pfnDXDestroyStreamOutput       = vmsvga3dDXDestroyStreamOutput;
     3093                p->pfnDXSetStreamOutput           = vmsvga3dDXSetStreamOutput;
     3094                p->pfnDXSetCOTable                = vmsvga3dDXSetCOTable;
     3095                p->pfnDXReadbackCOTable           = vmsvga3dDXReadbackCOTable;
     3096                p->pfnDXBufferCopy                = vmsvga3dDXBufferCopy;
     3097                p->pfnDXTransferFromBuffer        = vmsvga3dDXTransferFromBuffer;
     3098                p->pfnDXSurfaceCopyAndReadback    = vmsvga3dDXSurfaceCopyAndReadback;
     3099                p->pfnDXMoveQuery                 = vmsvga3dDXMoveQuery;
     3100                p->pfnDXBindAllQuery              = vmsvga3dDXBindAllQuery;
     3101                p->pfnDXReadbackAllQuery          = vmsvga3dDXReadbackAllQuery;
     3102                p->pfnDXPredTransferFromBuffer    = vmsvga3dDXPredTransferFromBuffer;
     3103                p->pfnDXMobFence64                = vmsvga3dDXMobFence64;
     3104                p->pfnDXBindAllShader             = vmsvga3dDXBindAllShader;
     3105                p->pfnDXHint                      = vmsvga3dDXHint;
     3106                p->pfnDXBufferUpdate              = vmsvga3dDXBufferUpdate;
     3107                p->pfnDXSetVSConstantBufferOffset = vmsvga3dDXSetVSConstantBufferOffset;
     3108                p->pfnDXSetPSConstantBufferOffset = vmsvga3dDXSetPSConstantBufferOffset;
     3109                p->pfnDXSetGSConstantBufferOffset = vmsvga3dDXSetGSConstantBufferOffset;
     3110                p->pfnDXCondBindAllShader         = vmsvga3dDXCondBindAllShader;
     3111            }
     3112        }
     3113        else
     3114        {
     3115            AssertFailed();
     3116            rc = VERR_INVALID_PARAMETER;
     3117        }
     3118    }
     3119    else
     3120        rc = VERR_NOT_IMPLEMENTED;
     3121    return rc;
     3122}
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d.h

    r86864 r86885  
    272272#endif
    273273
     274#define VMSVGA3D_BACKEND_INTERFACE_NAME_DX "DX"
     275typedef struct
     276{
     277    DECLCALLBACKMEMBER(void, pfnDXDefineContext,             (PVMSVGA3DSTATE p3dState));
     278    DECLCALLBACKMEMBER(void, pfnDXDestroyContext,            (PVMSVGA3DSTATE p3dState));
     279    DECLCALLBACKMEMBER(void, pfnDXBindContext,               (PVMSVGA3DSTATE p3dState));
     280    DECLCALLBACKMEMBER(void, pfnDXReadbackContext,           (PVMSVGA3DSTATE p3dState));
     281    DECLCALLBACKMEMBER(void, pfnDXInvalidateContext,         (PVMSVGA3DSTATE p3dState));
     282    DECLCALLBACKMEMBER(void, pfnDXSetSingleConstantBuffer,   (PVMSVGA3DSTATE p3dState));
     283    DECLCALLBACKMEMBER(void, pfnDXSetShaderResources,        (PVMSVGA3DSTATE p3dState));
     284    DECLCALLBACKMEMBER(void, pfnDXSetShader,                 (PVMSVGA3DSTATE p3dState));
     285    DECLCALLBACKMEMBER(void, pfnDXSetSamplers,               (PVMSVGA3DSTATE p3dState));
     286    DECLCALLBACKMEMBER(void, pfnDXDraw,                      (PVMSVGA3DSTATE p3dState));
     287    DECLCALLBACKMEMBER(void, pfnDXDrawIndexed,               (PVMSVGA3DSTATE p3dState));
     288    DECLCALLBACKMEMBER(void, pfnDXDrawInstanced,             (PVMSVGA3DSTATE p3dState));
     289    DECLCALLBACKMEMBER(void, pfnDXDrawIndexedInstanced,      (PVMSVGA3DSTATE p3dState));
     290    DECLCALLBACKMEMBER(void, pfnDXDrawAuto,                  (PVMSVGA3DSTATE p3dState));
     291    DECLCALLBACKMEMBER(void, pfnDXSetInputLayout,            (PVMSVGA3DSTATE p3dState));
     292    DECLCALLBACKMEMBER(void, pfnDXSetVertexBuffers,          (PVMSVGA3DSTATE p3dState));
     293    DECLCALLBACKMEMBER(void, pfnDXSetIndexBuffer,            (PVMSVGA3DSTATE p3dState));
     294    DECLCALLBACKMEMBER(void, pfnDXSetTopology,               (PVMSVGA3DSTATE p3dState));
     295    DECLCALLBACKMEMBER(void, pfnDXSetRenderTargets,          (PVMSVGA3DSTATE p3dState));
     296    DECLCALLBACKMEMBER(void, pfnDXSetBlendState,             (PVMSVGA3DSTATE p3dState));
     297    DECLCALLBACKMEMBER(void, pfnDXSetDepthStencilState,      (PVMSVGA3DSTATE p3dState));
     298    DECLCALLBACKMEMBER(void, pfnDXSetRasterizerState,        (PVMSVGA3DSTATE p3dState));
     299    DECLCALLBACKMEMBER(void, pfnDXDefineQuery,               (PVMSVGA3DSTATE p3dState));
     300    DECLCALLBACKMEMBER(void, pfnDXDestroyQuery,              (PVMSVGA3DSTATE p3dState));
     301    DECLCALLBACKMEMBER(void, pfnDXBindQuery,                 (PVMSVGA3DSTATE p3dState));
     302    DECLCALLBACKMEMBER(void, pfnDXSetQueryOffset,            (PVMSVGA3DSTATE p3dState));
     303    DECLCALLBACKMEMBER(void, pfnDXBeginQuery,                (PVMSVGA3DSTATE p3dState));
     304    DECLCALLBACKMEMBER(void, pfnDXEndQuery,                  (PVMSVGA3DSTATE p3dState));
     305    DECLCALLBACKMEMBER(void, pfnDXReadbackQuery,             (PVMSVGA3DSTATE p3dState));
     306    DECLCALLBACKMEMBER(void, pfnDXSetPredication,            (PVMSVGA3DSTATE p3dState));
     307    DECLCALLBACKMEMBER(void, pfnDXSetSOTargets,              (PVMSVGA3DSTATE p3dState));
     308    DECLCALLBACKMEMBER(void, pfnDXSetViewports,              (PVMSVGA3DSTATE p3dState));
     309    DECLCALLBACKMEMBER(void, pfnDXSetScissorRects,           (PVMSVGA3DSTATE p3dState));
     310    DECLCALLBACKMEMBER(void, pfnDXClearRenderTargetView,     (PVMSVGA3DSTATE p3dState));
     311    DECLCALLBACKMEMBER(void, pfnDXClearDepthStencilView,     (PVMSVGA3DSTATE p3dState));
     312    DECLCALLBACKMEMBER(void, pfnDXPredCopyRegion,            (PVMSVGA3DSTATE p3dState));
     313    DECLCALLBACKMEMBER(void, pfnDXPredCopy,                  (PVMSVGA3DSTATE p3dState));
     314    DECLCALLBACKMEMBER(void, pfnDXStretchBlt,                (PVMSVGA3DSTATE p3dState));
     315    DECLCALLBACKMEMBER(void, pfnDXGenMips,                   (PVMSVGA3DSTATE p3dState));
     316    DECLCALLBACKMEMBER(void, pfnDXUpdateSubResource,         (PVMSVGA3DSTATE p3dState));
     317    DECLCALLBACKMEMBER(void, pfnDXReadbackSubResource,       (PVMSVGA3DSTATE p3dState));
     318    DECLCALLBACKMEMBER(void, pfnDXInvalidateSubResource,     (PVMSVGA3DSTATE p3dState));
     319    DECLCALLBACKMEMBER(void, pfnDXDefineShaderResourceView,  (PVMSVGA3DSTATE p3dState));
     320    DECLCALLBACKMEMBER(void, pfnDXDestroyShaderResourceView, (PVMSVGA3DSTATE p3dState));
     321    DECLCALLBACKMEMBER(void, pfnDXDefineRenderTargetView,    (PVMSVGA3DSTATE p3dState));
     322    DECLCALLBACKMEMBER(void, pfnDXDestroyRenderTargetView,   (PVMSVGA3DSTATE p3dState));
     323    DECLCALLBACKMEMBER(void, pfnDXDefineDepthStencilView,    (PVMSVGA3DSTATE p3dState));
     324    DECLCALLBACKMEMBER(void, pfnDXDestroyDepthStencilView,   (PVMSVGA3DSTATE p3dState));
     325    DECLCALLBACKMEMBER(void, pfnDXDefineElementLayout,       (PVMSVGA3DSTATE p3dState));
     326    DECLCALLBACKMEMBER(void, pfnDXDestroyElementLayout,      (PVMSVGA3DSTATE p3dState));
     327    DECLCALLBACKMEMBER(void, pfnDXDefineBlendState,          (PVMSVGA3DSTATE p3dState));
     328    DECLCALLBACKMEMBER(void, pfnDXDestroyBlendState,         (PVMSVGA3DSTATE p3dState));
     329    DECLCALLBACKMEMBER(void, pfnDXDefineDepthStencilState,   (PVMSVGA3DSTATE p3dState));
     330    DECLCALLBACKMEMBER(void, pfnDXDestroyDepthStencilState,  (PVMSVGA3DSTATE p3dState));
     331    DECLCALLBACKMEMBER(void, pfnDXDefineRasterizerState,     (PVMSVGA3DSTATE p3dState));
     332    DECLCALLBACKMEMBER(void, pfnDXDestroyRasterizerState,    (PVMSVGA3DSTATE p3dState));
     333    DECLCALLBACKMEMBER(void, pfnDXDefineSamplerState,        (PVMSVGA3DSTATE p3dState));
     334    DECLCALLBACKMEMBER(void, pfnDXDestroySamplerState,       (PVMSVGA3DSTATE p3dState));
     335    DECLCALLBACKMEMBER(void, pfnDXDefineShader,              (PVMSVGA3DSTATE p3dState));
     336    DECLCALLBACKMEMBER(void, pfnDXDestroyShader,             (PVMSVGA3DSTATE p3dState));
     337    DECLCALLBACKMEMBER(void, pfnDXBindShader,                (PVMSVGA3DSTATE p3dState));
     338    DECLCALLBACKMEMBER(void, pfnDXDefineStreamOutput,        (PVMSVGA3DSTATE p3dState));
     339    DECLCALLBACKMEMBER(void, pfnDXDestroyStreamOutput,       (PVMSVGA3DSTATE p3dState));
     340    DECLCALLBACKMEMBER(void, pfnDXSetStreamOutput,           (PVMSVGA3DSTATE p3dState));
     341    DECLCALLBACKMEMBER(void, pfnDXSetCOTable,                (PVMSVGA3DSTATE p3dState));
     342    DECLCALLBACKMEMBER(void, pfnDXReadbackCOTable,           (PVMSVGA3DSTATE p3dState));
     343    DECLCALLBACKMEMBER(void, pfnDXBufferCopy,                (PVMSVGA3DSTATE p3dState));
     344    DECLCALLBACKMEMBER(void, pfnDXTransferFromBuffer,        (PVMSVGA3DSTATE p3dState));
     345    DECLCALLBACKMEMBER(void, pfnDXSurfaceCopyAndReadback,    (PVMSVGA3DSTATE p3dState));
     346    DECLCALLBACKMEMBER(void, pfnDXMoveQuery,                 (PVMSVGA3DSTATE p3dState));
     347    DECLCALLBACKMEMBER(void, pfnDXBindAllQuery,              (PVMSVGA3DSTATE p3dState));
     348    DECLCALLBACKMEMBER(void, pfnDXReadbackAllQuery,          (PVMSVGA3DSTATE p3dState));
     349    DECLCALLBACKMEMBER(void, pfnDXPredTransferFromBuffer,    (PVMSVGA3DSTATE p3dState));
     350    DECLCALLBACKMEMBER(void, pfnDXMobFence64,                (PVMSVGA3DSTATE p3dState));
     351    DECLCALLBACKMEMBER(void, pfnDXBindAllShader,             (PVMSVGA3DSTATE p3dState));
     352    DECLCALLBACKMEMBER(void, pfnDXHint,                      (PVMSVGA3DSTATE p3dState));
     353    DECLCALLBACKMEMBER(void, pfnDXBufferUpdate,              (PVMSVGA3DSTATE p3dState));
     354    DECLCALLBACKMEMBER(void, pfnDXSetVSConstantBufferOffset, (PVMSVGA3DSTATE p3dState));
     355    DECLCALLBACKMEMBER(void, pfnDXSetPSConstantBufferOffset, (PVMSVGA3DSTATE p3dState));
     356    DECLCALLBACKMEMBER(void, pfnDXSetGSConstantBufferOffset, (PVMSVGA3DSTATE p3dState));
     357    DECLCALLBACKMEMBER(void, pfnDXCondBindAllShader,         (PVMSVGA3DSTATE p3dState));
     358} VMSVGA3DBACKENDFUNCSDX;
     359
     360int vmsvga3dQueryInterface(PVGASTATECC pThisCC, char const *pszInterfaceName, void *pvInterfaceFuncs, size_t cbInterfaceFuncs);
     361
    274362#endif /* !VBOX_INCLUDED_SRC_Graphics_DevVGA_SVGA3d_h */
    275363
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