Mark Satterthwaite
af2088d117
Implement an FMA pass that converts separate MUL + ADD pairs into FMAs - needed by older Metal standards to avoid floating point operation reordering that affects precision.
...
#rb none
#jira N/A
[CL 7021727 by Mark Satterthwaite in Dev-Rendering branch]
2019-06-14 23:23:42 -04:00
Mark Satterthwaite
3722379958
Implement support for SPIRV-Cross's separate Metal tessellation shaders - this means streaming out the vertex data using a render-pass in the prologue command-buffer, followed by generating a patch index buffer & running the Hull shader as a compute pass and then finally running the draw call. This is slower and uses more memory than the unified approach taken in hlslcc but it is conceptually simpler and much easier to deal with one the shader compiler side.
...
#rb none
#jira N/A
[CL 6946090 by Mark Satterthwaite in Dev-Rendering branch]
2019-06-11 21:10:27 -04:00
Ben Ingram
ff085beb0d
#jira UE-75688
...
- VertexInterpolator material expressions work correctly when creating lightmass/proxy materials
- Lightmass/Proxy replace switches don't attempt to evaluate non-active branch; this fixes problem when non-active branch has compile errors in the current context, which causes compile to fail
#rb none
[CL 6945809 by Ben Ingram in Dev-Rendering branch]
2019-06-11 19:52:38 -04:00
Rolando Caloca
d9a57636c3
DR - Merging //UE4/Dev-Main@6942191 to Dev-Rendering (//UE4/Dev-Rendering)
...
#rb none
#rnx
#lockdown Marcus.Wassmer
[CL 6942271 by Rolando Caloca in Dev-Rendering branch]
2019-06-11 16:57:10 -04:00
Juan Canada
73e27ad17d
Merging //UE4/Dev-Main@6918807 to Dev-Rendering (//UE4/Dev-Rendering)
...
#rnx
#lockdown marcus.wassmer
#rb none
[CL 6941601 by Juan Canada in Dev-Rendering branch]
2019-06-11 15:44:54 -04:00
Jeremy Moore
0a8e3f6c3b
#jira UE-75992
...
Fix one more VS2019 compile errors
#lockdown Marcus.Wassmer
#rb none
#rnx
[CL 6917429 by Jeremy Moore in Dev-Rendering branch]
2019-06-10 16:24:34 -04:00
Juan Canada
8b0ec1d7b0
Merging //UE4/Dev-Main@6890764 to Dev-Rendering (//UE4/Dev-Rendering)
...
#rnx
#rb none
#lockdown marcus.wassmer
[CL 6896096 by Juan Canada in Dev-Rendering branch]
2019-06-07 16:53:37 -04:00
Yujiang Wang
4fa133f525
Revert CL 6596039 to fix Niagara stack overflow
...
#fyi Shaun.Kime
#jira UE-75893
#rb none
#lockdown marcus.wassmer
[CL 6895857 by Yujiang Wang in Dev-Rendering branch]
2019-06-07 16:29:42 -04:00
Juan Canada
c33df2efd0
Merging //UE4/Dev-Main@6856949 to Dev-Rendering (//UE4/Dev-Rendering)
...
#lockdown marcus.wassmer
#rb none
[CL 6863606 by Juan Canada in Dev-Rendering branch]
2019-06-06 13:30:16 -04:00
Ben Ingram
6bfd33d005
#jira UE-75094
...
Message user on attempt to convert non-power-2 texture to VT
#rb none
[CL 6819257 by Ben Ingram in Dev-Rendering branch]
2019-06-03 17:36:50 -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
Mark Satterthwaite
20d0b4b885
Proper order for tessellation meta-data emitted when using DXC to compile shaders to Metal.
...
#rb none
#jira N/A
[CL 6686149 by Mark Satterthwaite in Dev-Rendering branch]
2019-05-31 11:35:29 -04:00
Mark Satterthwaite
ad85a11bbd
Parse the HLSL to extract the Hull shader attributes that have no SPIRV equivalent so can't be parsed from the SPIRV. This is likely to be more fragile but there's no real alternative.
...
#rb none
#jira N/A
[CL 6680430 by Mark Satterthwaite in Dev-Rendering branch]
2019-05-30 17:54:46 -04:00
Ben Ingram
dc35d971ac
#jira UE-75277
...
Ensure UI list of valid texture sampler types updates when texture is modified outside the material editor
#rb none
[CL 6679952 by Ben Ingram in Dev-Rendering branch]
2019-05-30 16:47:28 -04:00
Mark Satterthwaite
2e2a1a084f
A bit more work hooking up the various buffer indices into the Metal shader metadata - still more to be done before it will actually work and pass through everything we need.
...
#rb none
#jira N/A
[CL 6679857 by Mark Satterthwaite in Dev-Rendering branch]
2019-05-30 16:33:08 -04:00
Mark Satterthwaite
3565e1502c
Map the obvious SPIRV execution mode variables to the Metal metadata output.
...
#rb none
#jira N/A
[CL 6677608 by Mark Satterthwaite in Dev-Rendering branch]
2019-05-30 14:45:43 -04:00
Arne Schober
6b4c570371
DR - The issue is that GameThreadShaderMap and the RenderingThreadShaderMap can get out of sync. And one case of this is when DefaultMaterials are forced though the !bApplyCompletedShaderMapForRendering path because bSynchronousCompile is set. Although it is noted that "if !bApplyCompletedShaderMapForRendering, RenderingThreadShaderMap must be set elsewhere to match up with the new value of GameThreadShaderMap" the Result is actually a dangling reference of RenderingThreadShaderMap. Therefore I removed bApplyCompletedShaderMapForRendering and force the synchronization of the RenderingThreadShaderMap via the SetGameThreadShaderMap interface each and every time it is changed.
...
#jira UE-67622, UE-74710
#RB Rolando.Caloca, Marcus.Wassmer
[CL 6676473 by Arne Schober in Dev-Rendering branch]
2019-05-30 11:56:02 -04:00
Ben Ingram
4feabe067c
#jira UE-75075
...
#jira UE-75045
VT conversion tool also makes updates to any preview materials using selected textures, this ensures any active material editors remain valid after conversion
#rb none
#fyi lauren.ridge
[CL 6670803 by Ben Ingram in Dev-Rendering branch]
2019-05-29 20:28:49 -04:00
Mark Satterthwaite
d850cf4bbe
Update the names for the new SPIRV-Cross output & settings.
...
#rb none
#jira N/A
[CL 6658345 by Mark Satterthwaite in Dev-Rendering branch]
2019-05-28 17:17:26 -04:00
Rolando Caloca
3f94d93915
Merging //UE4/Dev-Main@6651710 to Dev-Rendering (//UE4/Dev-Rendering)
...
#rnx
#rb none
[CL 6652356 by Rolando Caloca in Dev-Rendering branch]
2019-05-28 10:22:20 -04:00
Mark Satterthwaite
7b0d188be6
Metal vertex shaders in tessellation pipelines must capture their output into a buffer so that it can feed into the compute-based hull shader. This is different than the HLSLCC approach which combined the Vertex & Hull shader, which we can't easily do with DXC.
...
#rb none
#jira N/A
[CL 6642483 by Mark Satterthwaite in Dev-Rendering branch]
2019-05-24 19:43:20 -04:00
Mark Satterthwaite
1ae5832fc0
More changes to ensure that DXC reports errors in a way that our code can handle.
...
#rb none
#jira N/A
[CL 6640137 by Mark Satterthwaite in Dev-Rendering branch]
2019-05-24 17:21:12 -04:00
Ben Ingram
98bcbc2500
#jira UE-75053
...
#jira UE-75091
#jira UE-75092
Don't display option to convert non-2D textures to VT
Fix some UI typos
#rb none
[CL 6635480 by Ben Ingram in Dev-Rendering branch]
2019-05-24 15:19:53 -04:00
Ben Ingram
c69769f3e4
#jira UE-75033
...
Only show convert to VT/non-VT context menu items if they are applicable for the selected texture(s)
#rb none
[CL 6634991 by Ben Ingram in Dev-Rendering branch]
2019-05-24 15:07:01 -04:00
Mark Satterthwaite
c0e8343bf9
Make DXC errors report without causing an assert in the virtual file-path handling.
...
#rb none
#jira N/A
[CL 6633399 by Mark Satterthwaite in Dev-Rendering branch]
2019-05-24 13:49:14 -04:00