Changeset 63562 in vbox for trunk/src/VBox/Devices/Graphics
- Timestamp:
- Aug 16, 2016 2:04:03 PM (8 years ago)
- Location:
- trunk/src/VBox/Devices/Graphics
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/BIOS/vgabios.c
r53099 r63562 144 144 outb(0x3C2, 0xC3); 145 145 /* More than 64k 3C4/04. */ 146 // @todo:16-bit write146 /// @todo 16-bit write 147 147 outb(0x3C4, 0x04); 148 148 outb(0x3C5, 0x02); … … 364 364 *chr_atr = read_word(vga_modes[line].sstart, address); 365 365 } else { 366 // @todo:graphics modes (not so easy - or useful!)366 /// @todo graphics modes (not so easy - or useful!) 367 367 #ifdef VGA_DEBUG 368 368 unimplemented(); … … 629 629 } 630 630 631 // @todo:Evaluate whether executing INT 10h is the right thing here631 /// @todo Evaluate whether executing INT 10h is the right thing here 632 632 extern void vga_font_set(uint8_t function, uint8_t data); 633 633 #pragma aux vga_font_set = \ … … 1785 1785 size += 3 + 256 * 3 + 1; 1786 1786 1787 // @todo:Is this supposed to be in 1-byte or 64-byte units?1787 /// @todo Is this supposed to be in 1-byte or 64-byte units? 1788 1788 return size; 1789 1789 } … … 2095 2095 #endif 2096 2096 2097 // @todo:rearrange, call only from VBE module?2097 /// @todo rearrange, call only from VBE module? 2098 2098 extern void vbe_biosfn_return_controller_information(uint16_t STACK_BASED *AX, uint16_t ES, uint16_t DI); 2099 2099 extern void vbe_biosfn_return_mode_information(uint16_t STACK_BASED *AX, uint16_t CX, uint16_t ES, uint16_t DI); -
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp
r63478 r63562 1563 1563 break; 1564 1564 case SVGA3D_Z_D15S1: /* D3DFMT_D15S1 - WINED3DFMT_S1_UINT_D15_UNORM */ 1565 pSurface->internalFormatGL = GL_DEPTH_COMPONENT16; /* @todo ??? */1565 pSurface->internalFormatGL = GL_DEPTH_COMPONENT16; /** @todo ??? */ 1566 1566 pSurface->formatGL = GL_DEPTH_STENCIL; 1567 1567 pSurface->typeGL = GL_UNSIGNED_SHORT; -
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-savedstate.cpp
r62932 r63562 612 612 case SVGA3D_SURFACE_HINT_DEPTHSTENCIL: 613 613 case SVGA3D_SURFACE_HINT_DEPTHSTENCIL | SVGA3D_SURFACE_HINT_TEXTURE: 614 /* @todo unable to easily fetch depth surface data in d3d 9 */614 /** @todo unable to easily fetch depth surface data in d3d 9 */ 615 615 fSkipSave = true; 616 616 break; … … 635 635 IDirect3DSurface9 *pSrc, *pDest; 636 636 637 /* @todo stricter checks for associated context */637 /** @todo stricter checks for associated context */ 638 638 uint32_t cid = pSurface->idAssociatedContext; 639 639 if ( cid >= pState->cContexts … … 759 759 case SVGA3D_SURFACE_HINT_DEPTHSTENCIL: 760 760 case SVGA3D_SURFACE_HINT_DEPTHSTENCIL | SVGA3D_SURFACE_HINT_TEXTURE: 761 /* @todo fetch data from the renderbuffer */761 /** @todo fetch data from the renderbuffer */ 762 762 /* No data follows */ 763 763 rc = SSMR3PutBool(pSSM, false); -
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-shared.cpp
r62932 r63562 93 93 wc.cbClsExtra = 0; 94 94 wc.cbWndExtra = 0; 95 wc.hInstance = GetModuleHandle("VBoxDD.dll"); /* @todo hardcoded name.. */95 wc.hInstance = GetModuleHandle("VBoxDD.dll"); /** @todo hardcoded name.. */ 96 96 wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); 97 97 wc.hCursor = LoadCursor(NULL, IDC_ARROW); -
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; -
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r63480 r63562 2106 2106 2107 2107 #if 0 //def VBOX_WITH_VDMA 2108 /** @todo :we get a second resize here when VBVA is on, while we actually should not */2108 /** @todo we get a second resize here when VBVA is on, while we actually should not */ 2109 2109 /* do not do pfnResize in case VBVA is on since all mode changes are performed over VBVA 2110 2110 * we are checking for VDMA state here to ensure this code works only for WDDM driver, -
trunk/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp
r62928 r63562 617 617 if (!fRestored) 618 618 { 619 /* @todo Actually this function must not touch the partialRecord structure at all,619 /** @todo Actually this function must not touch the partialRecord structure at all, 620 620 * because initially it is a zero and when VBVA is disabled this should be set to zero. 621 621 * But I'm not sure that no code depends on zeroing partialRecord here. … … 1201 1201 if(rc == VERR_NOT_IMPLEMENTED) 1202 1202 { 1203 /* @todo:set some flag in pVGAState indicating VHWA is not supported */1203 /** @todo set some flag in pVGAState indicating VHWA is not supported */ 1204 1204 /* VERR_NOT_IMPLEMENTED is not a failure, we just do not support it */ 1205 1205 rc = VINF_SUCCESS; … … 1316 1316 } 1317 1317 1318 /* @todo call this also on reset? */1318 /** @todo call this also on reset? */ 1319 1319 int vbvaVHWAEnable (PVGASTATE pVGAState, bool bEnable) 1320 1320 { … … 2123 2123 else if (u32Index == VBOX_VBVA_CONF32_HOST_HEAP_SIZE) 2124 2124 { 2125 /* @todo a value calculated from the vram size */2125 /** @todo a value calculated from the vram size */ 2126 2126 pConf32->u32Value = 64*_1K; 2127 2127 } -
trunk/src/VBox/Devices/Graphics/DevVGA_VDMA.cpp
r63549 r63562 2546 2546 } 2547 2547 # endif 2548 /* todo:post the buffer to chromium */2548 /** @todo post the buffer to chromium */ 2549 2549 return VINF_SUCCESS; 2550 2550 } … … 2680 2680 if (offset + pCmd->cbBuf > 0x1000) 2681 2681 { 2682 /* @todo:more advanced mechanism of command buffer proc is actually needed */2682 /** @todo more advanced mechanism of command buffer proc is actually needed */ 2683 2683 rc = VERR_INVALID_PARAMETER; 2684 2684 break; … … 2690 2690 if (!RT_SUCCESS(rc)) 2691 2691 { 2692 /* @todo:if (rc == VERR_PGM_PHYS_PAGE_RESERVED) -> fall back on using PGMPhysRead ?? */2692 /** @todo if (rc == VERR_PGM_PHYS_PAGE_RESERVED) -> fall back on using PGMPhysRead ?? */ 2693 2693 break; 2694 2694 }
Note:
See TracChangeset
for help on using the changeset viewer.