Ue5 BasePass Add Another RenderTarget Output

I want basepass to export an uint8 data,so i create a PF_R8_UINT texture and bind to the BasePass output,and set SV_Target to uint output,but the output is not what i expect

Here is my code:
const FRDGTextureDesc AdditionalLightingTextureDesc(FRDGTextureDesc::Create2D(Config.Extent, PF_R8_UINT, FClearValueBinding::None, TexCreate_RenderTargetable | TexCreate_ShaderResource));

………….
FOpaqueBasePassParameters* PassParameters = GraphBuilder.AllocParameters();
PassParameters->View = View.GetShaderParameters();
PassParameters->ReflectionCapture = View.ReflectionCaptureUniformBuffer;
PassParameters->BasePass = CreateOpaqueBasePassUniformBuffer(GraphBuilder, View, ViewIndex, ForwardBasePassTextures, DBufferTextures, bLumenGIEnabled);
PassParameters->RenderTargets = BasePassRenderTargets;
PassParameters->RenderTargets[BasePassRenderTargets.GetActiveCount()] = FRenderTargetBinding(SceneTextures.AdditionalLightingTexture,View.DecayLoadAction(ERenderTargetLoadAction::ENoAction));
PassParameters->RenderTargets.ShadingRateTexture = GVRSImageManager.GetVariableRateShadingImage(GraphBuilder, View, FVariableRateShadingImageManager::EVRSPassType::BasePass);

………………….

#if PIXELSHADEROUTPUT_MRT3
, out float4 OutTarget3 : SV_Target3
#if !PIXELSHADEROUTPUT_MRT4 && !SUBSTRATE_OUTPUT_GBUFFER && !MATERIAL_IS_SKY
,out uint4 AdditionalLightingChannel : SV_Target4
#endif
#endif
#if !PIXELSHADEROUTPUT_MRT7 && !MATERIAL_IS_SKY
AdditionalLightingChannel = PixelShaderOut.AdditionalLightingChannel;
#endif

The result is blocky,seems like the data has been written to ,but the result is bad