Commit Graph

998 Commits

Author SHA1 Message Date
christopher waters
4195401192 Removing CopyToResolveTarget.
#rb zach.bethel
#preflight 6435a813d03b1c87dd410835

[CL 24995829 by christopher waters in ue5-main branch]
2023-04-11 15:00:07 -04:00
Luke Thatcher
e6b40d3954 Major refactor of RHICreateShaderResourceView and RHICreateUnorderedAccessView functions - Merging //UE5/Dev-ParallelRendering (up to CL 24988990) to //UE5/Main
This changelist is a merge of work done in //UE5/Dev-ParallelRendering to remove tech debt in the SRV/UAV create functions. See individual changelist descriptions in that stream for further details, but a summary of the change is as follows:
 - We had multiple overloads of each of the RHICreateShaderResourceView and RHICreateUnorderedAccessView functions. Each function had a different set of supported view types and using them was complicated / ambiguous.
 - There's now only 2 create functions, and a common FRHIViewDesc descriptor struct, which is stored on the base view class.

 - FRHIView takes a reference on the underlying resource, ensuring that RHI views keep their viewed resource alive. This was not the case on some platforms, since it was previously the platform RHI implementation's responsibility.
 - Platform RHI implementations resolve an FRHIViewDesc into a full FViewInfo struct using GetViewInfo. This centralizes the logic for computing num mips / num slices / format etc so it is the same across all platforms.

 - Views must never be created with nullptr resources. This used to happen in the mesh streamer, but now all views require a real underlying resource. That resource can be a "BUF_NullResource" buffer, which is what the mesh streamer uses as a placeholder for buffers that have not streamed yet.
 - We will eventually replace FRHITextureReference with a "null texture", similar to how BUF_NullResource works for buffers. This is not yet implemented, so there is no "null view" of a texture currently.

#rb kenzo.terelst,jeannoe.morissette,dmitriy.dyomin
#preflight 643534642855180717af410e
#jira none

[CL 24989901 by Luke Thatcher in ue5-main branch]
2023-04-11 08:59:21 -04:00
christopher waters
7231cf0144 Changing vendor extensions code to use EGpuVendorId instead of hardcoded IDs.
#rb jeannoe.morissette
#preflight 64304facb4329f6f1a32206a

[CL 24978127 by christopher waters in ue5-main branch]
2023-04-10 11:32:55 -04:00
stu mckenna
9432f1436f - Reduce d3d11 constant buffer size to allow fluids to run and reduce impact on performance
#rb christopher.waters
#jira UE-178653
#rnx
#preflight https://horde.devtools.epicgames.com/job/642c8cfb6a37fb35e94b94e5
#lockdown mihnea.balta

[CL 24943040 by stu mckenna in ue5-main branch]
2023-04-06 08:29:16 -04:00
Luke Thatcher
d566d29fa9 Undo //UE5/Main/... changelist 24869066 due to build errors.
#rb none
#jira none
#preflight 642c50afc6769c60826710d3

[CL 24913159 by Luke Thatcher in ue5-main branch]
2023-04-04 12:54:16 -04:00
Luke Thatcher
abed07b9f6 Remove NullRHI module from non-desktop builds
- Marked RHI modules with an [RHIModule] C# attribute, so UBT can determine how many RHIs are being included in the build via standard module references.
 - Refactored the "fixed RHI class" macros to automatically de-virtualize RHI command calls. WITH_FIXED_RHI_CLASS is always defined to 1 if there's only a single RHI module included in the build.

Unified "-rhivalidation" command line switch handling.

#rb mihnea.balta
#preflight 64247bb8c42c7fd1cb5fc582

[CL 24869066 by Luke Thatcher in ue5-main branch]
2023-03-31 06:32:14 -04:00
Wei Liu
8b27864471 Replace RHICommandListImmediate to RHICommandList to enable RDG pass parallelism on mobile platforms.
#jira none

#rb Dmitriy.Dyomin, Zach.Bethel
#preflight 6426924f50546ea336902499

[CL 24868436 by Wei Liu in ue5-main branch]
2023-03-31 04:12:33 -04:00
luke thatcher
538e158e92 Merging (with edits) CL 24691283 from //UE5/Dev-ParallelRendering to //UE5/Release-5.2
Add BeginRecursiveCommand call in the RecursiveHazardous RHI command lists
 - Some platform RHIs need to prepare the context (e.g. creating / opening a command list) before the lambda is called

#rb jeannoe.morissette
#jira UE-171755
#preflight 6422d148e11ce5214ffc8b93

[CL 24823554 by luke thatcher in ue5-main branch]
2023-03-28 14:37:53 -04:00
nick edwards
442653b187 Uses of ::Sort/::StableSort replaced with Algo versions.
#preflight 6422f8d3710ec8400fc7471c
#jira none
#rb steve.robb

[CL 24818983 by nick edwards in ue5-main branch]
2023-03-28 10:56:46 -04:00
David Harvey
f53c45f76f expanding some simple module declarations to include windows platform extensions by default.
#jira UE-179187
#rnx
#rb trivial
#preflight 6422af0b5e52099fe3ba9cc5

[CL 24815951 by David Harvey in ue5-main branch]
2023-03-28 05:28:43 -04:00
David Harvey
09d0d26709 Windows platform extensions extends the normal Windows platform features module.
#jira UE-179187
#rnx
#rb Eric.McDaniel
#preflight 64229b01c42c7fd1cbcdaf2a

[CL 24815529 by David Harvey in ue5-main branch]
2023-03-28 03:57:05 -04:00
chris kulla
15d9542327 RHI: Avoid re-allocating the OutData array in RHIRead*SurfaceData when possible
This behavior was inconsistent across RHIs. In some cases we called SetNumUninitialized() which is the behavior we want (a no-op when the array already has the right size). On other RHIs, the array was being emptied first and then grown which forced a re-allocation.

#rb Rolando.Caloca
#jira none
#preflight 641a174442618c85c4157166

[CL 24784728 by chris kulla in ue5-main branch]
2023-03-24 15:21:38 -04:00
Matt Peters
0027082473 RequestExit Feedback: Add Callsite argument to FPlatformMisc::RequestExit
Add the argument to many but not all callsites.
#jira FORT-578919
#rnx
#rb Devin.Doucette
#preflight 6414ca9d691c5ebc15b30410

[CL 24696053 by Matt Peters in ue5-main branch]
2023-03-17 16:46:34 -04:00
jeannoe morissette
b8c6c68cd1 RHI: Move to common RHI function for preferred vendors.
#rb Christopher.Waters
#preflight 640f5c0d482188d7105390a2
#rnx

[CL 24616503 by jeannoe morissette in ue5-main branch]
2023-03-13 13:38:53 -04:00
benjamin rouveyrol
8d2b287ce9 Add structured buffer stride validation for d3d11
#rb mihnea.balta
#preflight 640edda13c2db400296414c3
#jira none
#rnx

[CL 24610004 by benjamin rouveyrol in ue5-main branch]
2023-03-13 04:52:44 -04:00
zach bethel
e4f5e664c0 Fix for creating empty uniform buffer off the render thread in D3D11.
#preflight trivial

[CL 24568037 by zach bethel in ue5-main branch]
2023-03-08 17:15:37 -05:00
jian ru
bb3db301f9 Fix a deadlock that can happen when two streaming updates are blocked on task graph events in a critical section. The threads where the two updates run on can pull in and execute FAsyncCancelIORequestsTask while waiting. If they grab each others FAsyncCancelIORequestsTask, it will deadlock since the tasks will also try to enter the critical section but won't succeed.
#preflights 63fd6cb8a134e0b0591bdd3e
#rb mihnea.balta, kenzo.terelst, luke.thatcher

[CL 24454220 by jian ru in ue5-main branch]
2023-02-28 18:18:04 -05:00
christopher waters
3c89e1962a Adding missing platform checks.
[CL 24446549 by christopher waters in ue5-main branch]
2023-02-28 13:25:07 -05:00
nicolas mercier
d9d9be003c redirect D3D log messages to the log file.
#rb christopher.waters
#rnx
#preflight 63bfec44577437afe62a7a68

[CL 24440237 by nicolas mercier in ue5-main branch]
2023-02-28 06:20:35 -05:00
christopher waters
030fb3c659 Adding batched parameter paths for more shared shader types.
#preflight 63fd1859a134e0b059f30880

[CL 24433956 by christopher waters in ue5-main branch]
2023-02-27 17:34:22 -05:00
stu mckenna
fab6bcb76c - Fix d3d11 max constant buffer size to be 4k float4s rather than 4k bytes
#rb christopher.waters
#jira UE-177500
#preflight 63f5511eac06ce789fcdc481

[CL 24405700 by stu mckenna in ue5-main branch]
2023-02-24 14:12:05 -05:00
christopher waters
fbae90bbe9 Fixing some D3D11 include paths.
[CL 24331731 by christopher waters in ue5-main branch]
2023-02-20 20:22:01 -05:00
christopher waters
05d524fc45 Cleaning up some D3D11RHI dependencies.
#rb arciel.rekman, jeff.fisher

[CL 24326730 by christopher waters in ue5-main branch]
2023-02-20 16:45:31 -05:00
christopher waters
7e9d2038d4 Reverting include path changes due to missed errors.
[CL 24322964 by christopher waters in ue5-main branch]
2023-02-20 15:38:58 -05:00
christopher waters
63587e688f Fixing some D3D11RHI include paths.
[CL 24322938 by christopher waters in ue5-main branch]
2023-02-20 15:38:32 -05:00