Passing an UAV to a Pixel Shader in DirectX11 I have a compute shader which task is to take an input image and then blur it using a Gaussian filter approach. The input and output for the compute shader looks like this Input and output resources Texture2D lt float4 gt InputMap register(t0) RWTexture2D lt float4 gt OutputMap register(u0) The necessary steps for the compute shader setup is shown below Load SRV with the image first DX ThrowIfFailed(CreateWICTextureFromFileEx(D3DHelper GetDevice(), L"Images floor.jpg", 0, D3D11 USAGE DEFAULT, D3D11 BIND UNORDERED ACCESS D3D11 BIND SHADER RESOURCE, 0, 0, 0, m resource.GetAddressOf(), m blurTexture.GetAddressOf())) Create UAV D3D11 UNORDERED ACCESS VIEW DESC descView memset( amp descView, 0, sizeof(descView)) descView.Format DXGI FORMAT UNKNOWN descView.ViewDimension D3D11 UAV DIMENSION TEXTURE2D descView.Texture2D.MipSlice 0 DX ThrowIfFailed(D3DHelper GetDevice() gt CreateUnorderedAccessView(m resource.Get(), amp descView, m UAV.GetAddressOf())) Blur image with compute shader Shader SetComputeShader("Blur", m blurTexture, m UAV, 16, 16, 1) Shader UnbindComputeShader() Now if we imagine that the work of the compute shader is done correctly, the last step would then be to bind the SRV UAV containing the blurred image to the pixel shader stage for the object which will use the texture. However, this texture seems to end up completely black after the compute shader pass if I do the following binding D3DHelper GetDeviceContext() gt PSSetShaderResources(0, 1, m blurTexture.GetAddressOf()) I believe there are a few more steps missing since I need to get the data from the UAV and not the SRV since the UAV contains the output image. What would be the correct approach?