Changeset 63562 in vbox for trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-win.cpp
- Timestamp:
- Aug 16, 2016 2:04:03 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 110217
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-win.cpp
r63134 r63562 546 546 547 547 case SVGA3D_DEVCAP_MAX_SHADER_TEXTURES: 548 /* @todo ?? */548 /** @todo ?? */ 549 549 rc = VERR_INVALID_PARAMETER; 550 550 break; … … 620 620 break; 621 621 622 case SVGA3D_DEVCAP_MAX_RENDER_TARGETS: /* @todo same thing? */622 case SVGA3D_DEVCAP_MAX_RENDER_TARGETS: /** @todo same thing? */ 623 623 case SVGA3D_DEVCAP_MAX_SIMULTANEOUS_RENDER_TARGETS: 624 624 *pu32Val = pCaps->NumSimultaneousRTs; … … 691 691 692 692 case SVGA3D_DEVCAP_SURFACEFMT_Z_D24S8: 693 case SVGA3D_DEVCAP_SURFACEFMT_Z_D24S8_INT: /* @todo not correct */693 case SVGA3D_DEVCAP_SURFACEFMT_Z_D24S8_INT: /** @todo not correct */ 694 694 *pu32Val = vmsvga3dGetDepthFormatSupport(pState, idx3dCaps, D3DFMT_D24S8); 695 695 break; … … 700 700 701 701 case SVGA3D_DEVCAP_SURFACEFMT_Z_DF16: 702 /* @todo supposed to be floating-point, but unable to find a match for D3D9... */702 /** @todo supposed to be floating-point, but unable to find a match for D3D9... */ 703 703 *pu32Val = 0; 704 704 break; … … 949 949 case SVGA3D_Z_D16: 950 950 return D3DFMT_D16; 951 case SVGA3D_Z_D24S8_INT: /* @todo not correct */951 case SVGA3D_Z_D24S8_INT: /** @todo not correct */ 952 952 case SVGA3D_Z_D24S8: 953 953 return D3DFMT_D24S8; … … 958 958 /* Advanced D3D9 depth formats. */ 959 959 case SVGA3D_Z_DF16: 960 /* @todo supposed to be floating-point, but unable to find a match for D3D9... */960 /** @todo supposed to be floating-point, but unable to find a match for D3D9... */ 961 961 AssertFailedReturn(D3DFMT_UNKNOWN); 962 962 case SVGA3D_Z_DF24: … … 1080 1080 return D3DMULTISAMPLE_NONE; 1081 1081 1082 /* @todo exact same mapping as d3d? */1082 /** @todo exact same mapping as d3d? */ 1083 1083 return (D3DMULTISAMPLE_TYPE)multisampleCount; 1084 1084 } … … 1324 1324 PVMSVGA3DCONTEXT pContext; 1325 1325 1326 /* @todo stricter checks for associated context */1326 /** @todo stricter checks for associated context */ 1327 1327 cid = pSurfaceSrc->idAssociatedContext; 1328 1328 if ( cid >= pState->cContexts … … 1346 1346 IDirect3DTexture9 *pSrcTexture = pSurfaceSrc->u.pTexture; 1347 1347 1348 /* @todo stricter checks for associated context */1348 /** @todo stricter checks for associated context */ 1349 1349 cid = pSurfaceDest->idAssociatedContext; 1350 1350 if ( cid >= pState->cContexts … … 1821 1821 Rect.bottom = pBox->y + pBox->h; /* exclusive */ 1822 1822 1823 /* @todo inefficient for VRAM buffers!! */1823 /** @todo inefficient for VRAM buffers!! */ 1824 1824 if (fTexture) 1825 1825 { … … 1832 1832 IDirect3DSurface9 *pSrc, *pDest; 1833 1833 1834 /* @todo stricter checks for associated context */1834 /** @todo stricter checks for associated context */ 1835 1835 uint32_t cid = pSurface->idAssociatedContext; 1836 1836 if ( cid >= pState->cContexts … … 1842 1842 pContext = pState->papContexts[cid]; 1843 1843 1844 /* @todo only sync when something was actually rendered (since the last sync) */1844 /** @todo only sync when something was actually rendered (since the last sync) */ 1845 1845 Log(("vmsvga3dSurfaceDMA: sync bounce buffer\n")); 1846 1846 hr = pSurface->bounce.pTexture->GetSurfaceLevel(uHostMipmap, &pDest); … … 1901 1901 if (transfer == SVGA3D_WRITE_HOST_VRAM) 1902 1902 { 1903 /* @todo stricter checks for associated context */1903 /** @todo stricter checks for associated context */ 1904 1904 uint32_t cid = pSurface->idAssociatedContext; 1905 1905 if ( cid >= pState->cContexts … … 1990 1990 } 1991 1991 1992 /* @todo Only screen 0 for now. */1992 /** @todo Only screen 0 for now. */ 1993 1993 AssertReturn(dest == 0, VERR_INTERNAL_ERROR); 1994 1994 AssertReturn(src.mipmap == 0 && src.face == 0, VERR_INVALID_PARAMETER); 1995 /* @todo scaling */1995 /** @todo scaling */ 1996 1996 AssertReturn(destRect.right - destRect.left == srcRect.right - srcRect.left && destRect.bottom - destRect.top == srcRect.bottom - srcRect.top, VERR_INVALID_PARAMETER); 1997 1997 … … 2035 2035 dest.pitch = pThis->svga.cbScanline; 2036 2036 2037 /* @todo merge into one SurfaceDMA call */2037 /** @todo merge into one SurfaceDMA call */ 2038 2038 for (uint32_t i = 0; i < cRects; i++) 2039 2039 { … … 2067 2067 uint32_t cid; 2068 2068 2069 /* @todo stricter checks for associated context */2069 /** @todo stricter checks for associated context */ 2070 2070 cid = pSurface->idAssociatedContext; 2071 2071 … … 2121 2121 uint32_t cid; 2122 2122 2123 /* @todo stricter checks for associated context */2123 /** @todo stricter checks for associated context */ 2124 2124 cid = pSurface->idAssociatedContext; 2125 2125 … … 2166 2166 AssertReturn(pSurface->idAssociatedContext != SVGA3D_INVALID_ID, VERR_INTERNAL_ERROR); 2167 2167 2168 /* @todo stricter checks for associated context */2168 /** @todo stricter checks for associated context */ 2169 2169 cid = pSurface->idAssociatedContext; 2170 2170 Log(("vmsvga3dCommandPresent: sid=%x cRects=%d cid=%x\n", sid, cRects, cid)); … … 2471 2471 PresParam.SwapEffect = D3DSWAPEFFECT_FLIP; 2472 2472 PresParam.hDeviceWindow = pContext->hwnd; 2473 PresParam.Windowed = TRUE; /* @todo */2473 PresParam.Windowed = TRUE; /** @todo */ 2474 2474 PresParam.EnableAutoDepthStencil = FALSE; 2475 2475 PresParam.AutoDepthStencilFormat = D3DFMT_UNKNOWN; /* not relevant */ 2476 2476 PresParam.Flags = 0; 2477 2477 PresParam.FullScreen_RefreshRateInHz = 0; /* windowed -> 0 */ 2478 /* @todo consider using D3DPRESENT_DONOTWAIT so we don't wait for the GPU during Present calls. */2478 /** @todo consider using D3DPRESENT_DONOTWAIT so we don't wait for the GPU during Present calls. */ 2479 2479 PresParam.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; 2480 2480 … … 2696 2696 IDirect3DSurface9 *pSrc, *pDest; 2697 2697 2698 /* @todo only sync when something was actually rendered (since the last sync) */2698 /** @todo only sync when something was actually rendered (since the last sync) */ 2699 2699 Log(("vmsvga3dChangeMode: sync bounce buffer (level %d)\n", i)); 2700 2700 hr = pSurface->bounce.pTexture->GetSurfaceLevel(i, &pDest); … … 2740 2740 { 2741 2741 case SVGA3D_SURFACE_CUBEMAP: 2742 AssertFailed(); /* @todo */2742 AssertFailed(); /** @todo */ 2743 2743 break; 2744 2744 … … 2809 2809 PresParam.SwapEffect = D3DSWAPEFFECT_FLIP; 2810 2810 PresParam.hDeviceWindow = pContext->hwnd; 2811 PresParam.Windowed = TRUE; /* @todo */2811 PresParam.Windowed = TRUE; /** @todo */ 2812 2812 PresParam.EnableAutoDepthStencil = FALSE; 2813 2813 PresParam.AutoDepthStencilFormat = D3DFMT_UNKNOWN; /* not relevant */ 2814 2814 PresParam.Flags = 0; 2815 2815 PresParam.FullScreen_RefreshRateInHz = 0; /* windowed -> 0 */ 2816 /* @todo consider using D3DPRESENT_DONOTWAIT so we don't wait for the GPU during Present calls. */2816 /** @todo consider using D3DPRESENT_DONOTWAIT so we don't wait for the GPU during Present calls. */ 2817 2817 PresParam.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;; 2818 2818 … … 3007 3007 3008 3008 Log(("vmsvga3dSetZRange: old viewport settings (%d,%d)(%d,%d) z=%d/%d\n", viewport.X, viewport.Y, viewport.Width, viewport.Height, (uint32_t)(viewport.MinZ * 100.0), (uint32_t)(viewport.MaxZ * 100.0))); 3009 /* @todo convert the depth range from -1-1 to 0-1 although we shouldn't be getting such values in the first place... */3009 /** @todo convert the depth range from -1-1 to 0-1 although we shouldn't be getting such values in the first place... */ 3010 3010 if (zRange.min < 0.0) 3011 3011 zRange.min = 0.0; … … 3293 3293 break; 3294 3294 } 3295 /* @todo ignoring face for now. */3295 /** @todo ignoring face for now. */ 3296 3296 renderState = D3DRS_FILLMODE; 3297 3297 break; … … 3306 3306 case SVGA3D_RS_LINEPATTERN: /* SVGA3dLinePattern */ 3307 3307 /* No longer supported by d3d; mesagl comments suggest not all backends support it */ 3308 /* @todo */3308 /** @todo */ 3309 3309 Log(("WARNING: SVGA3D_RS_LINEPATTERN %x not supported!!\n", pRenderState[i].uintValue)); 3310 3310 /* … … 3423 3423 case SVGA3D_RS_COORDINATETYPE: /* SVGA3dCoordinateType */ 3424 3424 Assert(pRenderState[i].uintValue == SVGA3D_COORDINATE_LEFTHANDED); 3425 /* @todo setup a view matrix to scale the world space by -1 in the z-direction for right handed coordinates. */3425 /** @todo setup a view matrix to scale the world space by -1 in the z-direction for right handed coordinates. */ 3426 3426 /* 3427 3427 renderState = D3DRS_COORDINATETYPE; … … 3431 3431 3432 3432 case SVGA3D_RS_ZBIAS: /* float */ 3433 /* @todo unknown meaning; depth bias is not identical3433 /** @todo unknown meaning; depth bias is not identical 3434 3434 renderState = D3DRS_DEPTHBIAS; 3435 3435 val = pRenderState[i].uintValue; … … 3908 3908 Assert(pRenderTarget->idAssociatedContext == cid); 3909 3909 3910 /* @todo Assert(!pRenderTarget->fDirty); */3910 /** @todo Assert(!pRenderTarget->fDirty); */ 3911 3911 3912 3912 AssertReturn(pRenderTarget->u.pSurface, VERR_INVALID_PARAMETER); … … 4086 4086 return D3DTOP_MODULATE4X; 4087 4087 case SVGA3D_TC_DSDT: 4088 AssertFailed(); /* @todo ??? */4088 AssertFailed(); /** @todo ??? */ 4089 4089 return D3DTOP_DISABLE; 4090 4090 case SVGA3D_TC_DOTPRODUCT3: … … 4151 4151 return D3DTTFF_DISABLE; 4152 4152 case SVGA3D_TEX_TRANSFORM_S: 4153 return D3DTTFF_COUNT1; /* @todo correct? */4153 return D3DTTFF_COUNT1; /** @todo correct? */ 4154 4154 case SVGA3D_TEX_TRANSFORM_T: 4155 return D3DTTFF_COUNT2; /* @todo correct? */4155 return D3DTTFF_COUNT2; /** @todo correct? */ 4156 4156 case SVGA3D_TEX_TRANSFORM_R: 4157 return D3DTTFF_COUNT3; /* @todo correct? */4157 return D3DTTFF_COUNT3; /** @todo correct? */ 4158 4158 case SVGA3D_TEX_TRANSFORM_Q: 4159 return D3DTTFF_COUNT4; /* @todo correct? */4159 return D3DTTFF_COUNT4; /** @todo correct? */ 4160 4160 case SVGA3D_TEX_PROJECTED: 4161 4161 return D3DTTFF_PROJECTED; … … 4465 4465 4466 4466 /* @note face not used for D3D9 */ 4467 /* @todo ignore everything except SVGA3D_FACE_NONE? */4467 /** @todo ignore everything except SVGA3D_FACE_NONE? */ 4468 4468 //Assert(face == SVGA3D_FACE_NONE); 4469 4469 if (face != SVGA3D_FACE_NONE) … … 4886 4886 AssertReturn(numRanges && numRanges <= SVGA3D_MAX_DRAW_PRIMITIVE_RANGES, VERR_INVALID_PARAMETER); 4887 4887 AssertReturn(!cVertexDivisor || cVertexDivisor == numVertexDecls, VERR_INVALID_PARAMETER); 4888 /* @todo */4888 /** @todo */ 4889 4889 Assert(!cVertexDivisor); 4890 4890 … … 5074 5074 else 5075 5075 { 5076 Assert(pRange[iPrimitive].indexBias >= 0); /* @todo */5076 Assert(pRange[iPrimitive].indexBias >= 0); /** @todo */ 5077 5077 5078 5078 UINT numVertices;
Note:
See TracChangeset
for help on using the changeset viewer.