Skip to content

Commit 96aacaf

Browse files
committed
ACTUALY create a sample-able zbuffer snapshot
1 parent 9bbd2b5 commit 96aacaf

File tree

4 files changed

+8
-20
lines changed

4 files changed

+8
-20
lines changed

src/Layers/xrRender/HW.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,7 @@ class CHW
6464
ID3D11RenderTargetView* pBaseRT; // combine with DX9 pBaseRT via typedef
6565
ID3D11DepthStencilView* pBaseZB;
6666

67-
D3D_TEXTURE2D_DESC* pBaseZBTexDesc;
68-
D3D_DEPTH_STENCIL_VIEW_DESC* pBaseZBDesc;
67+
ID3D11Texture2D* pBaseTEXZB;
6968

7069
CHWCaps Caps;
7170

src/Layers/xrRender/r__dsgraph_render.cpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -531,20 +531,6 @@ void R_dsgraph_structure::r_dsgraph_render_hud(bool NoPS)
531531
Device.mFullTransform.mul(Device.mProject, Device.mView);
532532
RCache.set_xform_project(Device.mProject);
533533

534-
ID3D11Texture2D* pRt_tempzbTexture = nullptr;
535-
HW.pDevice->CreateTexture2D(HW.pBaseZBTexDesc, nullptr, &pRt_tempzbTexture);
536-
RImplementation.Target->rt_tempzb->pSurface = pRt_tempzbTexture;
537-
538-
ID3D11Resource* pResource = nullptr;
539-
ID3D11Texture2D* pTexture2D = nullptr;
540-
541-
HW.pBaseZB->GetResource(&pResource);
542-
543-
pResource->QueryInterface(__uuidof(ID3D11Texture2D), (void**)&pTexture2D);
544-
545-
HW.pContext->CopyResource(pTexture2D, RImplementation.Target->rt_tempzb->pTexture->surface_get());
546-
547-
pResource->Release();
548534

549535
// Rendering
550536
rmNear();

src/Layers/xrRenderDX10/dx10HW.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,7 +1035,6 @@ void CHW::UpdateViews()
10351035
R_CHK(R);
10361036

10371037
//Create texture resource
1038-
ID3D11Texture2D* pBaseTEXZB;
10391038
D3D_TEXTURE2D_DESC texDesc;
10401039
texDesc.Width = sd.BufferDesc.Width;
10411040
texDesc.Height = sd.BufferDesc.Height;
@@ -1045,20 +1044,20 @@ void CHW::UpdateViews()
10451044
texDesc.SampleDesc.Count = 1;
10461045
texDesc.SampleDesc.Quality = 0;
10471046
texDesc.Usage = D3D_USAGE_DEFAULT;
1048-
texDesc.BindFlags = D3D_BIND_DEPTH_STENCIL | D3D_BIND_SHADER_RESOURCE | D3D_BIND_RENDER_TARGET;
1047+
texDesc.BindFlags = D3D_BIND_DEPTH_STENCIL | D3D_BIND_SHADER_RESOURCE;
10491048
texDesc.CPUAccessFlags = 0;
10501049
texDesc.MiscFlags = 0;
10511050

10521051
//Create DSV
10531052
D3D_DEPTH_STENCIL_VIEW_DESC dsvDesc;
1054-
#if defined(USE_DX11) //dirty hack so it doesnt crash DX10
1053+
#if defined(USE_DX11)
10551054
dsvDesc.Flags = 0;
10561055
#endif
10571056
dsvDesc.Format = DXGI_FORMAT_D24_UNORM_S8_UINT;
10581057
dsvDesc.ViewDimension = D3D_DSV_DIMENSION_TEXTURE2D;
10591058
dsvDesc.Texture2D.MipSlice = 0;
10601059

10611060
R_CHK(pDevice->CreateTexture2D(&texDesc, NULL, &pBaseTEXZB));
1062-
R_CHK(pDevice->CreateDepthStencilView(pBaseTEXZB, &dsvDesc, &pBaseZB));
1061+
R_CHK(pDevice->CreateDepthStencilView(pBaseTEXZB, &dsvDesc, &pBaseZB));
10631062
}
10641063
#endif

src/Layers/xrRenderPC_R4/r4_R_render.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,10 @@ void CRender::Render()
436436
RCache.set_Z(TRUE);
437437
}
438438

439+
ID3D11Resource* zbuffer_res;
440+
HW.pBaseZB->GetResource(&zbuffer_res); //get the resource
441+
HW.pContext->CopyResource(RImplementation.Target->rt_tempzb->pSurface, zbuffer_res);
442+
439443
// level
440444
Target->phase_scene_begin();
441445
r_dsgraph_render_hud();

0 commit comments

Comments
 (0)