Changeset 75695 in vbox for trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp
- Timestamp:
- Nov 23, 2018 7:06:36 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 126894
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp
r75514 r75695 1228 1228 case SVGA3D_DEVCAP_SURFACEFMT_Z_D24S8: 1229 1229 case SVGA3D_DEVCAP_SURFACEFMT_Z_D24X8: 1230 case SVGA3D_DEVCAP_SURFACEFMT_Z_DF16:1230 // case SVGA3D_DEVCAP_SURFACEFMT_Z_DF16: 1231 1231 case SVGA3D_DEVCAP_SURFACEFMT_Z_DF24: 1232 1232 case SVGA3D_DEVCAP_SURFACEFMT_Z_D24S8_INT: … … 2108 2108 { 2109 2109 RT_NOREF(idAssociatedContext); 2110 2111 LogFunc(("sid=%x\n", pSurface->id)); 2110 2112 2111 2113 uint32_t const numMipLevels = pSurface->faces[0].numMipLevels; … … 2534 2536 switch (pSurface->surfaceFlags & VMSVGA3D_SURFACE_HINT_SWITCH_MASK) 2535 2537 { 2538 case SVGA3D_SURFACE_HINT_TEXTURE | SVGA3D_SURFACE_HINT_DEPTHSTENCIL: 2539 case SVGA3D_SURFACE_HINT_DEPTHSTENCIL: 2536 2540 case SVGA3D_SURFACE_CUBEMAP | SVGA3D_SURFACE_HINT_TEXTURE: 2537 2541 case SVGA3D_SURFACE_CUBEMAP | SVGA3D_SURFACE_HINT_TEXTURE | SVGA3D_SURFACE_HINT_RENDERTARGET: … … 2667 2671 break; 2668 2672 } 2669 2670 case SVGA3D_SURFACE_HINT_DEPTHSTENCIL:2671 AssertFailed(); /** @todo DMA SVGA3D_SURFACE_HINT_DEPTHSTENCIL */2672 break;2673 2673 2674 2674 case SVGA3D_SURFACE_HINT_VERTEXBUFFER | SVGA3D_SURFACE_HINT_INDEXBUFFER: … … 4420 4420 case SVGA3D_RT_STENCIL: 4421 4421 AssertReturn(target.mipmap == 0, VERR_INVALID_PARAMETER); 4422 #if 1 4423 /* A texture surface can be used as a render target to fill it and later on used as a texture. */ 4424 if (pRenderTarget->oglId.texture == OPENGL_INVALID_ID) 4425 { 4426 LogFunc(("create depth texture to be used as render target; surface id=%x type=%d format=%d -> create texture\n", 4427 target.sid, pRenderTarget->surfaceFlags, pRenderTarget->format)); 4428 int rc = vmsvga3dBackCreateTexture(pState, pContext, cid, pRenderTarget); 4429 AssertRCReturn(rc, rc); 4430 } 4431 4432 AssertReturn(pRenderTarget->oglId.texture != OPENGL_INVALID_ID, VERR_INVALID_PARAMETER); 4433 Assert(!pRenderTarget->fDirty); 4434 4435 pRenderTarget->surfaceFlags |= SVGA3D_SURFACE_HINT_DEPTHSTENCIL; 4436 4437 pState->ext.glFramebufferTexture2D(GL_FRAMEBUFFER, 4438 (type == SVGA3D_RT_DEPTH) ? GL_DEPTH_ATTACHMENT : GL_STENCIL_ATTACHMENT, 4439 GL_TEXTURE_2D, pRenderTarget->oglId.texture, target.mipmap); 4440 VMSVGA3D_CHECK_LAST_ERROR(pState, pContext); 4441 #else 4422 4442 if (pRenderTarget->oglId.texture == OPENGL_INVALID_ID) 4423 4443 { … … 4457 4477 GL_RENDERBUFFER, pRenderTarget->oglId.renderbuffer); 4458 4478 VMSVGA3D_CHECK_LAST_ERROR(pState, pContext); 4479 #endif 4459 4480 break; 4460 4481
Note:
See TracChangeset
for help on using the changeset viewer.