private void BuildDescriptors() { var srvDesc = new ShaderResourceViewDescription { Shader4ComponentMapping = D3DUtil.DefaultShader4ComponentMapping, Format = _format, Dimension = ShaderResourceViewDimension.Texture2D, Texture2D = new ShaderResourceViewDescription.Texture2DResource { MostDetailedMip = 0, MipLevels = 1 } }; var uavDesc = new UnorderedAccessViewDescription { Format = _format, Dimension = UnorderedAccessViewDimension.Texture2D, Texture2D = new UnorderedAccessViewDescription.Texture2DResource { MipSlice = 0 } }; _device.CreateShaderResourceView(_blurMap0, srvDesc, _blur0CpuSrv); _device.CreateUnorderedAccessView(_blurMap0, null, uavDesc, _blur0CpuUav); _device.CreateShaderResourceView(_blurMap1, srvDesc, _blur1CpuSrv); _device.CreateUnorderedAccessView(_blurMap1, null, uavDesc, _blur1CpuUav); }
public void BuildDescriptors(CpuDescriptorHandle cpuDescriptor, GpuDescriptorHandle gpuDescriptor, int descriptorSize) { var srvDesc = new ShaderResourceViewDescription { Shader4ComponentMapping = D3DUtil.DefaultShader4ComponentMapping, Format = Format.R32_Float, Dimension = ShaderResourceViewDimension.Texture2D, Texture2D = new ShaderResourceViewDescription.Texture2DResource { MostDetailedMip = 0, MipLevels = 1 } }; var uavDesc = new UnorderedAccessViewDescription { Format = Format.R32_Float, Dimension = UnorderedAccessViewDimension.Texture2D, Texture2D = new UnorderedAccessViewDescription.Texture2DResource { MipSlice = 0 } }; _device.CreateShaderResourceView(_prevSol, srvDesc, cpuDescriptor); _device.CreateShaderResourceView(_currSol, srvDesc, cpuDescriptor + descriptorSize); _device.CreateShaderResourceView(_nextSol, srvDesc, cpuDescriptor + descriptorSize * 2); _device.CreateUnorderedAccessView(_prevSol, null, uavDesc, cpuDescriptor + descriptorSize * 3); _device.CreateUnorderedAccessView(_currSol, null, uavDesc, cpuDescriptor + descriptorSize * 4); _device.CreateUnorderedAccessView(_nextSol, null, uavDesc, cpuDescriptor + descriptorSize * 5); // Save references to the GPU descriptors. _prevSolSrv = gpuDescriptor; _currSolSrv = gpuDescriptor + descriptorSize; _nextSolSrv = gpuDescriptor + descriptorSize * 2; _prevSolUav = gpuDescriptor + descriptorSize * 3; _currSolUav = gpuDescriptor + descriptorSize * 4; _nextSolUav = gpuDescriptor + descriptorSize * 5; }