diff --git a/.pick_status.json b/.pick_status.json index 7180f17f595..3765c19b41c 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1484,7 +1484,7 @@ "description": "d3d10umd: De-bufferize OutputMerger", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "05f8b59c90e9407cec499fbd4bc10b7801a44f5c", "notes": null diff --git a/src/gallium/frontends/d3d10umd/OutputMerger.cpp b/src/gallium/frontends/d3d10umd/OutputMerger.cpp index daedc37be92..2a38864f61f 100644 --- a/src/gallium/frontends/d3d10umd/OutputMerger.cpp +++ b/src/gallium/frontends/d3d10umd/OutputMerger.cpp @@ -83,7 +83,6 @@ CreateRenderTargetView( { LOG_ENTRYPOINT(); - struct pipe_context *pipe = CastPipeContext(hDevice); struct pipe_resource *resource = CastPipeResource(pCreateRenderTargetView->hDrvResource); RenderTargetView *pRTView = CastRenderTargetView(hRenderTargetView); @@ -95,36 +94,35 @@ CreateRenderTargetView( switch (pCreateRenderTargetView->ResourceDimension) { case D3D10DDIRESOURCE_BUFFER: - desc.u.buf.first_element = pCreateRenderTargetView->Buffer.FirstElement; - desc.u.buf.last_element = pCreateRenderTargetView->Buffer.NumElements - 1 + - desc.u.buf.first_element; - break; + LOG_UNSUPPORTED("Render target view into buffer!"); + SetError(hDevice, E_NOTIMPL); + return; case D3D10DDIRESOURCE_TEXTURE1D: ASSERT(pCreateRenderTargetView->Tex1D.ArraySize != (UINT)-1); - desc.u.tex.level = pCreateRenderTargetView->Tex1D.MipSlice; - desc.u.tex.first_layer = pCreateRenderTargetView->Tex1D.FirstArraySlice; - desc.u.tex.last_layer = pCreateRenderTargetView->Tex1D.ArraySize - 1 + - desc.u.tex.first_layer; + desc.level = pCreateRenderTargetView->Tex1D.MipSlice; + desc.first_layer = pCreateRenderTargetView->Tex1D.FirstArraySlice; + desc.last_layer = pCreateRenderTargetView->Tex1D.ArraySize - 1 + + desc.first_layer; break; case D3D10DDIRESOURCE_TEXTURE2D: ASSERT(pCreateRenderTargetView->Tex2D.ArraySize != (UINT)-1); - desc.u.tex.level = pCreateRenderTargetView->Tex2D.MipSlice; - desc.u.tex.first_layer = pCreateRenderTargetView->Tex2D.FirstArraySlice; - desc.u.tex.last_layer = pCreateRenderTargetView->Tex2D.ArraySize - 1 + - desc.u.tex.first_layer; + desc.level = pCreateRenderTargetView->Tex2D.MipSlice; + desc.first_layer = pCreateRenderTargetView->Tex2D.FirstArraySlice; + desc.last_layer = pCreateRenderTargetView->Tex2D.ArraySize - 1 + + desc.first_layer; break; case D3D10DDIRESOURCE_TEXTURE3D: - desc.u.tex.level = pCreateRenderTargetView->Tex3D.MipSlice; - desc.u.tex.first_layer = pCreateRenderTargetView->Tex3D.FirstW; - desc.u.tex.last_layer = pCreateRenderTargetView->Tex3D.WSize - 1 + - desc.u.tex.first_layer; + desc.level = pCreateRenderTargetView->Tex3D.MipSlice; + desc.first_layer = pCreateRenderTargetView->Tex3D.FirstW; + desc.last_layer = pCreateRenderTargetView->Tex3D.WSize - 1 + + desc.first_layer; break; case D3D10DDIRESOURCE_TEXTURECUBE: ASSERT(pCreateRenderTargetView->TexCube.ArraySize != (UINT)-1); - desc.u.tex.level = pCreateRenderTargetView->TexCube.MipSlice; - desc.u.tex.first_layer = pCreateRenderTargetView->TexCube.FirstArraySlice; - desc.u.tex.last_layer = pCreateRenderTargetView->TexCube.ArraySize - 1 + - desc.u.tex.first_layer;; + desc.level = pCreateRenderTargetView->TexCube.MipSlice; + desc.first_layer = pCreateRenderTargetView->TexCube.FirstArraySlice; + desc.last_layer = pCreateRenderTargetView->TexCube.ArraySize - 1 + + desc.first_layer; break; default: ASSERT(0); @@ -283,7 +281,6 @@ CreateDepthStencilView( { LOG_ENTRYPOINT(); - struct pipe_context *pipe = CastPipeContext(hDevice); struct pipe_resource *resource = CastPipeResource(pCreateDepthStencilView->hDrvResource); DepthStencilView *pDSView = CastDepthStencilView(hDepthStencilView); @@ -296,24 +293,24 @@ CreateDepthStencilView( switch (pCreateDepthStencilView->ResourceDimension) { case D3D10DDIRESOURCE_TEXTURE1D: ASSERT(pCreateDepthStencilView->Tex1D.ArraySize != (UINT)-1); - desc.u.tex.level = pCreateDepthStencilView->Tex1D.MipSlice; - desc.u.tex.first_layer = pCreateDepthStencilView->Tex1D.FirstArraySlice; - desc.u.tex.last_layer = pCreateDepthStencilView->Tex1D.ArraySize - 1 + - desc.u.tex.first_layer; + desc.level = pCreateDepthStencilView->Tex1D.MipSlice; + desc.first_layer = pCreateDepthStencilView->Tex1D.FirstArraySlice; + desc.last_layer = pCreateDepthStencilView->Tex1D.ArraySize - 1 + + desc.first_layer; break; case D3D10DDIRESOURCE_TEXTURE2D: ASSERT(pCreateDepthStencilView->Tex2D.ArraySize != (UINT)-1); - desc.u.tex.level = pCreateDepthStencilView->Tex2D.MipSlice; - desc.u.tex.first_layer = pCreateDepthStencilView->Tex2D.FirstArraySlice; - desc.u.tex.last_layer = pCreateDepthStencilView->Tex2D.ArraySize - 1 + - desc.u.tex.first_layer; + desc.level = pCreateDepthStencilView->Tex2D.MipSlice; + desc.first_layer = pCreateDepthStencilView->Tex2D.FirstArraySlice; + desc.last_layer = pCreateDepthStencilView->Tex2D.ArraySize - 1 + + desc.first_layer; break; case D3D10DDIRESOURCE_TEXTURECUBE: ASSERT(pCreateDepthStencilView->TexCube.ArraySize != (UINT)-1); - desc.u.tex.level = pCreateDepthStencilView->TexCube.MipSlice; - desc.u.tex.first_layer = pCreateDepthStencilView->TexCube.FirstArraySlice; - desc.u.tex.last_layer = pCreateDepthStencilView->TexCube.ArraySize - 1 + - desc.u.tex.first_layer; + desc.level = pCreateDepthStencilView->TexCube.MipSlice; + desc.first_layer = pCreateDepthStencilView->TexCube.FirstArraySlice; + desc.last_layer = pCreateDepthStencilView->TexCube.ArraySize - 1 + + desc.first_layer; break; default: ASSERT(0);