From 37e4209cc93a6cbb04b52febd1405faeb1af7652 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 7 Oct 2014 23:19:57 +0100 Subject: [PATCH] Remove MipSlice parameter to make things a little simpler --- renderdoc/api/replay/d3d11_pipestate.h | 4 +- renderdoc/core/replay_proxy.cpp | 1 - renderdoc/driver/d3d11/d3d11_replay.cpp | 57 +++++++++++++++-------- renderdocui/Interop/D3D11PipelineState.cs | 2 - 4 files changed, 39 insertions(+), 25 deletions(-) diff --git a/renderdoc/api/replay/d3d11_pipestate.h b/renderdoc/api/replay/d3d11_pipestate.h index c6d7725b5..ef01c0e1e 100644 --- a/renderdoc/api/replay/d3d11_pipestate.h +++ b/renderdoc/api/replay/d3d11_pipestate.h @@ -86,7 +86,7 @@ struct D3D11PipelineState ElementOffset(0), ElementWidth(0), FirstElement(0), NumElements(0), Flags(0), - HighestMip(0), NumMipLevels(0), MipSlice(0), + HighestMip(0), NumMipLevels(0), ArraySize(0), FirstArraySlice(0) {} ResourceId View; @@ -112,8 +112,6 @@ struct D3D11PipelineState uint32_t HighestMip; uint32_t NumMipLevels; - uint32_t MipSlice; - // Texture Array uint32_t ArraySize; uint32_t FirstArraySlice; diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp index b5ed41525..53b162dc1 100644 --- a/renderdoc/core/replay_proxy.cpp +++ b/renderdoc/core/replay_proxy.cpp @@ -134,7 +134,6 @@ void Serialiser::Serialise(const char *name, D3D11PipelineState::ShaderStage::Re Serialise("", el.Flags); Serialise("", el.HighestMip); Serialise("", el.NumMipLevels); - Serialise("", el.MipSlice); Serialise("", el.ArraySize); Serialise("", el.FirstArraySlice); } diff --git a/renderdoc/driver/d3d11/d3d11_replay.cpp b/renderdoc/driver/d3d11/d3d11_replay.cpp index 7d930ca3e..19b9aa581 100644 --- a/renderdoc/driver/d3d11/d3d11_replay.cpp +++ b/renderdoc/driver/d3d11/d3d11_replay.cpp @@ -657,29 +657,34 @@ D3D11PipelineState D3D11Replay::MakePipelineState() } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE1D) { - view.MipSlice = desc.Texture1D.MipSlice; + view.HighestMip = desc.Texture1D.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE1DARRAY) { view.ArraySize = desc.Texture1DArray.ArraySize; view.FirstArraySlice = desc.Texture1DArray.FirstArraySlice; - view.MipSlice = desc.Texture1DArray.MipSlice; + view.HighestMip = desc.Texture1DArray.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE2D) { - view.MipSlice = desc.Texture2D.MipSlice; + view.HighestMip = desc.Texture2D.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE2DARRAY) { view.ArraySize = desc.Texture2DArray.ArraySize; view.FirstArraySlice = desc.Texture2DArray.FirstArraySlice; - view.MipSlice = desc.Texture2DArray.MipSlice; + view.HighestMip = desc.Texture2DArray.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE3D) { view.ArraySize = desc.Texture3D.WSize; view.FirstArraySlice = desc.Texture3D.FirstWSlice; - view.MipSlice = desc.Texture3D.MipSlice; + view.HighestMip = desc.Texture3D.MipSlice; + view.NumMipLevels = 1; } SAFE_RELEASE(res); @@ -830,29 +835,34 @@ D3D11PipelineState D3D11Replay::MakePipelineState() } else if(desc.ViewDimension == D3D11_RTV_DIMENSION_TEXTURE1D) { - view.MipSlice = desc.Texture1D.MipSlice; + view.HighestMip = desc.Texture1D.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_RTV_DIMENSION_TEXTURE1DARRAY) { view.ArraySize = desc.Texture1DArray.ArraySize; view.FirstArraySlice = desc.Texture1DArray.FirstArraySlice; - view.MipSlice = desc.Texture1DArray.MipSlice; + view.HighestMip = desc.Texture1DArray.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_RTV_DIMENSION_TEXTURE2D) { - view.MipSlice = desc.Texture2D.MipSlice; + view.HighestMip = desc.Texture2D.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_RTV_DIMENSION_TEXTURE2DARRAY) { view.ArraySize = desc.Texture2DArray.ArraySize; view.FirstArraySlice = desc.Texture2DArray.FirstArraySlice; - view.MipSlice = desc.Texture2DArray.MipSlice; + view.HighestMip = desc.Texture2DArray.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_RTV_DIMENSION_TEXTURE3D) { view.ArraySize = desc.Texture3D.WSize; view.FirstArraySlice = desc.Texture3D.FirstWSlice; - view.MipSlice = desc.Texture3D.MipSlice; + view.HighestMip = desc.Texture3D.MipSlice; + view.NumMipLevels = 1; } SAFE_RELEASE(res); @@ -898,29 +908,34 @@ D3D11PipelineState D3D11Replay::MakePipelineState() } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE1D) { - view.MipSlice = desc.Texture1D.MipSlice; + view.HighestMip = desc.Texture1D.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE1DARRAY) { view.ArraySize = desc.Texture1DArray.ArraySize; view.FirstArraySlice = desc.Texture1DArray.FirstArraySlice; - view.MipSlice = desc.Texture1DArray.MipSlice; + view.HighestMip = desc.Texture1DArray.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE2D) { - view.MipSlice = desc.Texture2D.MipSlice; + view.HighestMip = desc.Texture2D.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE2DARRAY) { view.ArraySize = desc.Texture2DArray.ArraySize; view.FirstArraySlice = desc.Texture2DArray.FirstArraySlice; - view.MipSlice = desc.Texture2DArray.MipSlice; + view.HighestMip = desc.Texture2DArray.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE3D) { view.ArraySize = desc.Texture3D.WSize; view.FirstArraySlice = desc.Texture3D.FirstWSlice; - view.MipSlice = desc.Texture3D.MipSlice; + view.HighestMip = desc.Texture3D.MipSlice; + view.NumMipLevels = 1; } SAFE_RELEASE(res); @@ -960,23 +975,27 @@ D3D11PipelineState D3D11Replay::MakePipelineState() if(desc.ViewDimension == D3D11_DSV_DIMENSION_TEXTURE1D) { - view.MipSlice = desc.Texture1D.MipSlice; + view.HighestMip = desc.Texture1D.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_DSV_DIMENSION_TEXTURE1DARRAY) { view.ArraySize = desc.Texture1DArray.ArraySize; view.FirstArraySlice = desc.Texture1DArray.FirstArraySlice; - view.MipSlice = desc.Texture1DArray.MipSlice; + view.HighestMip = desc.Texture1DArray.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_DSV_DIMENSION_TEXTURE2D) { - view.MipSlice = desc.Texture2D.MipSlice; + view.HighestMip = desc.Texture2D.MipSlice; + view.NumMipLevels = 1; } else if(desc.ViewDimension == D3D11_DSV_DIMENSION_TEXTURE2DARRAY) { view.ArraySize = desc.Texture2DArray.ArraySize; view.FirstArraySlice = desc.Texture2DArray.FirstArraySlice; - view.MipSlice = desc.Texture2DArray.MipSlice; + view.HighestMip = desc.Texture2DArray.MipSlice; + view.NumMipLevels = 1; } SAFE_RELEASE(res); diff --git a/renderdocui/Interop/D3D11PipelineState.cs b/renderdocui/Interop/D3D11PipelineState.cs index d28171912..78b3c16ec 100644 --- a/renderdocui/Interop/D3D11PipelineState.cs +++ b/renderdocui/Interop/D3D11PipelineState.cs @@ -142,8 +142,6 @@ namespace renderdoc public UInt32 HighestMip; public UInt32 NumMipLevels; - public UInt32 MipSlice; - // Texture Array public UInt32 ArraySize; public UInt32 FirstArraySlice;