Commit Graph

44 Commits

Author SHA1 Message Date
christopher waters
8abb1959d8 Making a FShaderParameterMap::FindParameterAllocation method that returns the parameter struct instead of using reference parameters.
Cleaning up SetShaderParameters implementations using a new helper class to load parameters from the binary blobs passed in.

#jira none
#rb kenzo.terelst, zach.bethel
#preflight 625f009f9c09ef439d9e8089

[CL 19830463 by christopher waters in ue5-main branch]
2022-04-20 10:43:15 -04:00
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
guillaume abadie
0bb3821623 Allows SHADER_USE_PARAMETER_STRUCT() to submit all shader parameters in a single RHISetShaderParameter()
#rb yuriy.odonnell
#preflight 611d572d9db7df000134eb13


#ROBOMERGE-SOURCE: CL 17222098
#ROBOMERGE-BOT: (v855-17104924)

[CL 17222140 by guillaume abadie in ue5-main branch]
2021-08-18 16:55:41 -04:00
graham wihlidal
2262907144 Initial D3D12 mesh shader implementation for Nanite - disabled by default, and not yet in a working state (few issues to address still), but the bulk of the implementation is done now.
#rb christopher.waters, rune.stubbe
[FYI] brian.karis, eric.mcdaniel
#preflight 61118028f19b37000163972d


#ROBOMERGE-SOURCE: CL 17107196
#ROBOMERGE-BOT: (v854-17104634)

[CL 17107229 by graham wihlidal in ue5-main branch]
2021-08-09 16:36:09 -04:00
zach bethel
a19414341b Fix for RDG_{TEXTURE, BUFFER}_ACCESS asserting when used with shader parameter bindings.
#rb guillaume.abadie

[CL 16450846 by zach bethel in ue5-main branch]
2021-05-25 12:18:27 -04:00
christopher waters
d1f02225a4 Adding support for R32_FLOAT depth buffers.
#jira UE-85382
#rb brian.white, will.damon, mihnea.balta
#fyi andrew.lauritzen
#preflight 609de73fbfbee500013afd47

[CL 16330130 by christopher waters in ue5-main branch]
2021-05-14 11:17:41 -04:00
christopher waters
83f70197d3 Tessellation Removal: Removing RHI Hull/Domain shader types and enums.
#rb lukas.hermanns
#jira UE-94564
#preflight 607f2e11eb4f050001d4655e

[CL 16066223 by christopher waters in ue5-main branch]
2021-04-20 17:00:25 -04:00
marc audy
bf2e06bca2 Added initial support for RDG_{TEXTURE, BUFFER}_ACCESS_ARRAY, which enables a dynamic number of inputs into an RDG pass. Removed unused / deprecated SHADER_PARAMETER_RDG_BUFFER.
#rb none

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 15905815 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15907353 by marc audy in ue5-main branch]
2021-04-02 20:35:50 -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
3493c1df43 Fix type-o from prior checkin.
[CL 14530598 by Zabir Hoque in ue5-main branch]
2020-10-20 20:31:31 -04:00
Zabir Hoque
109922b8a6 Check statement should be using "frozen" API during validation.
#rb: Ben.Ingram;

[CL 14530590 by Zabir Hoque in ue5-main branch]
2020-10-20 20:29:35 -04:00
Daniel Wright
000f55f41b Changed unbound parameters assert to ensure, since you can fix it with recompile shaders
#rb none

[CL 14392516 by Daniel Wright in ue5-main branch]
2020-09-24 19:46:43 -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
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -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
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
guillaume abadie
3800e7ad84 Cherry-pick 10232550: Validates shader parameter structure layout before submitting to RHI
#rb none
#jira none

#ROBOMERGE-SOURCE: CL 10232581 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v590-10202696)

[CL 10232585 by guillaume abadie in Main branch]
2019-11-14 19:25:20 -05:00
zach bethel
daee1f3d44 Downgraded missing TexCreate_ShaderResource error to be non-fatal.
#rb Rolando.Caloca

[CL 9583004 by zach bethel in Main branch]
2019-10-15 09:49:09 -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
sebastien hillaire
9701fe55f4 Clarified shader compiler output.
#rb zach.bethel


#ROBOMERGE-SOURCE: CL 9095760 via CL 9095786 via CL 9095795
#ROBOMERGE-BOT: (v443-9013191)

[CL 9098758 by sebastien hillaire in Main branch]
2019-09-25 14:06:50 -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
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