The VerifyD3D11Result logic already takes care of logging and checking the device removal reason.
#rb mihnea.balta
[CL 30684041 by daniele vettorel in ue5-main branch]
Keep the behavior from 25147071 when we want to create a 2D SRV of something which is not a 2D texture. This ensures we do not ignore FRHIViewDesc::FTexture::ArrayRange and select the right slice of a texture
#rb Luke.Thatcher
#jira UE-201831
[CL 30629413 by benjamin rouveyrol in ue5-main branch]
[FYI] jimmy.smith
Original CL Desc
-----------------------------------------------------------------
Delete deprecated usage of GetRuntimeFormat and CreateCompressedInfo
#rb Aaron.McLeran
[CL 30570451 by jimmy smith in ue5-main branch]
- Writing custom version of UE::RHICore::ApplyStaticUniformBuffers, UE::RHICore::RHISetShaderParametersShared, and UE::RHICore::RHISetShaderUnbindsShared for D3D11RHI to avoid redundant overhead.
- This removed the last uses of RHISetShaderTexture, RHISetShaderSampler, RHISetUAVParameter, RHISetShaderResourceViewParameter, and RHISetShaderParameter from D3D11RHI. Those functions are now gone.
[CL 30022429 by christopher waters in ue5-main branch]
* d3d12 / d3d11-editor are already using DXGI to check whether HDR is supported on the display.
* d3d11-cooked still relies on vendor extensions, but we propagate the information from FD3D11DynamicRHI::SetupDisplayHDRMetaData to GRHISupportsHDROutput. Because of that, we don't even call ChooseHDRDeviceAndColorGamut on vendors we do not support
Remove unnecessary check in EnsureColorSpace: it's valid to call CheckColorSpaceSupport with SDR
fix d3d11-cooked backbuffer format: both vendor extensions expect FP16 ScRGB, not HDR10 format
#rb eric.renaudhoude, mihnea.balta
#jira UE-200383 UE-168203
[CL 29955969 by benjamin rouveyrol in ue5-main branch]
- Descriptor updates are queued on the D3D12 context
- Split descriptor management type into a deferred, per-pipeline manager for Resources and a simple one for Samplers.
- Initial descriptor update flushing implementations are still WIP, CPU side heap copying/switching is up next.
- Added ability for platforms to provide custom descriptor update functions.
- Moved common code from Dispatch/Draw commands into common functions: SetupDispatch, SetupIndirectArgument, SetupDraw, SetupDispatchDraw and PostGpuEvent.
#jira UE-162017
#rb zach.bethel, jeannoe.morissette
[CL 29418682 by christopher waters in ue5-main branch]
Also, while we still have it, make sure it behaves consistently across all RHIs. D3D11 used to assert that NumInstances is above 1, even though it's not using it, and a few other RHIs inherited that behavior. Vulkan was actually using NumInstances as the number of indirect draws to perform, which would have crashed if the data was set up as D3D11 wanted it.
#rb christopher.waters
[CL 28912567 by mihnea balta in ue5-main branch]
* Added BP functions to create all types of UTexture from their UTextureRenderTarget counterpart (except UTextureRenderTargetCubeArray, since we don't have much of anything available to produce these ATM, but there's no reason it shouldn't work)
* Fixed crash when trying to create a UTexture out of a UTextureRenderTarget with a non-supported format. The error is also appropriately reported to the user via blueprint message log, instead of a message box in the past
Misc:
* UTextureRenderTarget have to implement CanConvertToTexture to indicate if they are currently able to be converted to a texture (e.g. valid size, supported format, etc.)
* There's now a generic UpdateTexture and ConstructTexture function on UTextureRenderTarget that can be used to update an existing texture or create a new one
* D3D11 and D3D12's RHIReadSurfaceData now support reading from (cube) texture arrays
* Added R8G8 to FColor conversion (the missing .BA channels are filled with 0 and 255, respectively)
* Deprecated all redundant ReadPixels / ReadFloat16Pixels from child classes of FRenderTarget (FTextureResource, FTextureRenderTargetVolumeResource, FTextureRenderTarget2DArrayResource). Note that ReadPixels / ReadFloat16Pixels / ReadLinearColorPixels are now virtual to avoid this situation and yet allow FTextureRenderTargetVolumeResource to implement them in its own way (unlike all other implementations, it uses Read3DSurfaceFloatData internally)
* Fixed typo in FTextureRenderTargetVolumeResource::GetDisplayGamma(), which didn't take PF_R32_FORMAT into account
* Added FTextureSourceFormatInfo and GTextureSourceFormats, which provides information about the various supported formats in ETextureSourceFormat (similar to EPixelFormat and GPixelFormats)
#jira UE-194364
#rb jon.cain
#tests editor
[CL 28494190 by jonathan bard in ue5-main branch]
- RHISetShaderTexture, RHISetShaderSampler, RHISetUAVParameter, RHISetShaderResourceViewParameter, RHISetShaderUniformBuffer, RHISetShaderParameter
- Only removing from the interface, each RHI still uses them in conjunction with UE::RHICore::RHISetShaderParametersShared, which uses the RHI type and not the interface.
- These methods are not part of the "public" interface so no deprecation is needed.
#rb luke.thatcher
[CL 27605633 by christopher waters in ue5-main branch]