Commit Graph

46 Commits

Author SHA1 Message Date
christopher waters
ca031aa73b Moving the bulk of SetShaderParameters to a cpp file. The shader type template arguments are only used to get data that's common for all binding paths and the command list types are minimal and boiled down to just 3 sets of parameters.
#jira none
#rb mihnea.balta
#preflight 6256ffd677269238e16b5915

[CL 19742199 by christopher waters in ue5-main branch]
2022-04-13 13:29:15 -04:00
jason hoerner
5f20bd8872 MGPU: Fix for light map artifacts when reloading lighting following a bake. Need to unbind SRVs used for scatter upload buffers, as we sometimes reuse the scatter upload buffers multiple times in a frame, and modifying them when they were bound can cause them to fail to update in the driver. Strangely, this was only occurring on the second GPU... I also added GPU mask blocks in a couple GPU scene update functions, for good measure.
The bound SRV issue could cause artifacts elsewhere in similar situations, but I didn't want to add perf overhead or complexity checking for this case everywhere, and decided to do a spot fix.  I didn't notice any other obvious cases where we have persistent buffers written to multiple times in a frame, like is done for the scatter upload buffers.  Still, it remains something to be alert for in case there are future rendering bugs.

#jira UE-143952
#rnx
#rb kenzo.terelst christopher.waters
#lockdown mihnea.balta
#preflight 6227ef770d5a90e98ea5f87d

#ROBOMERGE-AUTHOR: jason.hoerner
#ROBOMERGE-SOURCE: CL 19322316 in //UE5/Release-5.0/... via CL 19324110
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19348075 by jason hoerner in ue5-main branch]
2022-03-10 21:53:39 -05:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
zach bethel
0d7dc4d4ed Refactor of uniform buffer binding to allow for runtime selection of static or per-shader binding. This is a necessary precursor to moving the View uniform buffer to use static bindings on mesh passes; it is used in so many places that both binding models are required to preserve compatibility. Added validation to catch when a uniform buffer is bound using both methods at the same time. Added CVar to RHI transition validation to control whether to break in the debugger on a transition failure.
#rb christopher.waters

[CL 14873973 by zach bethel in ue5-main branch]
2020-12-07 17:42:32 -04:00
Zabir Hoque
ad7cd632a5 Copied shader pipeline and changes to RDG/Shader system to support dynamic param binding struct creation. Actual dynmaic param binding generation is stubbed. Parsing SRVs UAVs and Params from shaders.
#codereview: Juan.Canada; Carlos.Gonzalez; Halfdan.Ingvarsson; Zach.Bethel; Ben.Ingram; Arciel.Rekman

[CL 14639123 by Zabir Hoque in ue5-main branch]
2020-11-02 21:40:25 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
ben ingram
d9d0535ddc Add freezable hash table, use to accelerate lookup of shaders within ShaderMap
- Shaders are searched by TypeName and PermutationId, so move those fields out of FShader and into separate arrays inside ShaderMap, to reduce cache misses while finding shaders
#rb none

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12646854 via CL 12646966 via CL 12646981
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12646995 by ben ingram in Main branch]
2020-04-06 21:12:18 -04:00
dmitriy dyomin
193a3b97ad Reduce FShader object size in cooked games from 264 bytes to 160 bytes (saves ~7MB in the lobby)
#rb zach.bethel


#ROBOMERGE-OWNER: dmitriy.dyomin
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 12099362 via CL 12099363 via CL 12099738
#ROBOMERGE-BOT: (v657-12064184)

[CL 12099753 by dmitriy dyomin in Main branch]
2020-03-10 08:04:05 -04:00
charles derousiers
abd2fc095c Fix missing UAV binding on pixel shader when using render graph resources.
#rb zachary.bethel
#jira none

#ROBOMERGE-SOURCE: CL 12019856 in //UE4/Release-4.25/... via CL 12019867
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 12019929 by charles derousiers in Main branch]
2020-03-06 15:51:20 -05:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -05:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00
Rolando Caloca
1a30325d6f Copying //UE4/Dev-RenderPlat-Staging@9551419 to //UE4/Main
#rb none
#rnx

[CL 9551447 by Rolando Caloca in Main branch]
2019-10-11 15:33:31 -04:00
Rolando Caloca
f83ae4807a Copying //UE4/Dev-Rendering@9317594 to Dev-RenderPlat-Staging
#rb none
#rnx

[CL 9317904 by Rolando Caloca in Dev-RenderPlat-Staging branch]
2019-10-01 13:03:04 -04:00
Marcus Wassmer
6517c68ef5 Copying //UE4/Dev-RenderPlat-Staging@8684824 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 8684840 by Marcus Wassmer in Main branch]
2019-09-14 09:45:25 -04:00
zach bethel
98dab9c0b9 Added helper function to bind shader parameters to legacy parameter map.
#rb none
#jira none

[CL 8007843 by zach bethel in Dev-Rendering branch]
2019-08-13 16:09:19 -04:00
zach bethel
8ca3dc170e Added RDG_{TEXTURE, BUFFER}_COPY_DEST usage to pass parameters.
#rb guillaume.abadie
#jira none

[CL 7073169 by zach bethel in Dev-Rendering branch]
2019-06-18 16:53:31 -04:00
Rolando Caloca
83354ba5f6 Merging //UE4/Dev-Main@7063110 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
#rnx

[CL 7064716 by Rolando Caloca in Dev-Rendering branch]
2019-06-18 13:00:17 -04:00
rolando caloca
83c57c2a0f UE4.23 - Deprecate FUniformBufferRHIParamRef, FIndexBufferRHIParamRef, FVertexBufferRHIParamRef, FStructuredBufferRHIParamRef, FTextureRHIParamRef, FTexture2DRHIParamRef, FTexture2DArrayRHIParamRef, FTexture3DRHIParamRef, FTextureCubeRHIParamRef
#rb none
#jira UE-76364

#ROBOMERGE-SOURCE: CL 7046967 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)

[CL 7047009 by rolando caloca in Main branch]
2019-06-17 13:39:07 -04:00
Rolando Caloca
aa0d2303d6 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) @ 6944469
#rb none
#rnx

[CL 6944849 by Rolando Caloca in Main branch]
2019-06-11 18:27:07 -04:00
zach bethel
006d461e10 Fixed bad merge from main causing UAVs to be bound twice.
#rb Guillaume.Abadie
#jira UE-75891
#lockdown Marcus.Wassmer

[CL 6919909 by zach bethel in Dev-Rendering branch]
2019-06-10 18:37:56 -04:00
Juan Canada
d821126a81 Merging //UE4/Dev-Main@6799392 to Dev-Rendering (//UE4/Dev-Rendering)
#rnx
#rb none

[CL 6815678 by Juan Canada in Dev-Rendering branch]
2019-06-03 15:48:15 -04:00
Arciel Rekman
7ef9626fe8 Copying //UE4/Dev-Console@6677439 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 6677614 by Arciel Rekman in Main branch]
2019-05-30 14:48:02 -04:00
Rolando Caloca
1e0da084dc DR - Deprecate FVertexShaderRHIParamRef, FHullShaderRHIParamRef, FDomainShaderRHIParamRef, FPixelShaderRHIParamRef, FGeometryShaderRHIParamRef and FComputeShaderRHIParamRef
#rb none

[CL 6665448 by Rolando Caloca in Dev-Rendering branch]
2019-05-29 13:53:05 -04:00
Rolando Caloca
8f781f5172 DR - Deprecate FShaderResourceViewRHIParamRef and FUnorderedAccessViewRHIParamRef
#rb none

[CL 6628863 by Rolando Caloca in Dev-Rendering branch]
2019-05-24 09:44:32 -04:00