Commit Graph

143 Commits

Author SHA1 Message Date
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
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
Yuriy ODonnell
8b6c229c33 Implemented support for loose parameters (global constant buffer) for ray tracing hit shaders.
#rb Juan.Canada

[CL 6545244 by Yuriy ODonnell in Dev-Rendering branch]
2019-05-17 11:40:34 -04:00
Juan Canada
7eb6c9f6a6 Merging //UE4/Dev-Main@6478260 to Dev-Rendering (//UE4/Dev-Rendering)
#rnx
#rb none

[CL 6497885 by Juan Canada in Dev-Rendering branch]
2019-05-15 14:19:47 -04:00
Ben Ingram
354796606b Merging //UE4/Dev-VT/ to //UE4/Dev-Rendering/
#rb none

[CL 6401838 by Ben Ingram in Dev-Rendering branch]
2019-05-09 14:30:37 -04:00
Rolando Caloca
ded2ed7259 Merging //UE4/Dev-Main@6134169 to Dev-Rendering (//UE4/Dev-Rendering)
#rnx
#rb none

[CL 6139854 by Rolando Caloca in Dev-Rendering branch]
2019-04-29 11:59:36 -04:00
Yuriy ODonnell
c3c9a7407e Implemented support for DXR callable shaders
Callable shaders are similar to hit shaders, but they can be invoked from RayGen shaders without tracing any rays. They have records in the shader binding table and allow local parameters to be bound. The total number of callable shader slots/records must be declared when creating a ray tracing scene. Each record must be filled using SetRayTracingCallableShader() command, which is similar to SetRayTracingHitGroup().

#jira UE-69988
#rb Juan.Canada

[CL 6078802 by Yuriy ODonnell in Dev-Rendering branch]
2019-04-24 12:01:57 -04:00
Yuriy ODonnell
ad5e6e34eb Added an option to globally force using DXC for D3D shaders, intended for testing compatibility and correctness when using the new compiler.
#rb Rolando.Caloca

[CL 5834820 by Yuriy ODonnell in Dev-Rendering branch]
2019-04-12 08:44:12 -04:00
Yuriy ODonnell
fccce8d60e Updated to latest DXC (github 4167dd46)
* Fixed VertexFactoryInterpolate() texcoord interpolation when USE_PARTICLE_SUBUVS=1 (new compiler generates code that fails DXIL validation if texcoords are uninitialized)
* Use D3D_SIT_RTACCELERATIONSTRUCTURE define instead of hard-coded value in D3DShaderCompiler.cpp (addresses an old dxr_todo)

#jira UE-72201
#rb Charles.deRousiers

[CL 5819385 by Yuriy ODonnell in Dev-Rendering branch]
2019-04-10 06:36:10 -04:00
Rolando Caloca
ee36390eaa Merging //UE4/Dev-Main@5808119 to Dev-Rendering (//UE4/Dev-Rendering)
#rnx
#rb none

[CL 5809094 by Rolando Caloca in Dev-Rendering branch]
2019-04-09 12:22:27 -04:00
Yuriy ODonnell
4d853e8e85 Linked some of the dxr_todo-s to JIRAs. Removed few irrelevant ones. No functional changes.
#rb none

[CL 5669383 by Yuriy ODonnell in Dev-Rendering branch]
2019-04-01 11:19:53 -04:00
Rolando Caloca
532adaa65c DR - Merging //UE4/Dev-Main@5531558 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
#rnx

[CL 5591014 by Rolando Caloca in Dev-Rendering branch]
2019-03-27 11:33:31 -04:00
Rolando Caloca
932a718f97 DR - Merging //UE4/Dev-Main@5196773 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
#rnx

[CL 5208164 by Rolando Caloca in Dev-Rendering branch]
2019-02-26 16:43:29 -05:00
Yuriy ODonnell
e14bcf53e8 Implemented support for wave operation intrinsics (Shader Model 6.0) as an extension of SP_PCD3D_SM5, available when running on compatible hardware and D3D12.
Wave intrinsics can be enabled for a shader by providing CFLAG_WaveOperations to the compiler flags in ModifyCompilationEnvironment().
Run-time availability must be queried by checking GRHISupportsWaveOperations before trying to use a shader that uses wave intrinsics.

Removed all RHI_RAYTRACING define checks from D3DShaderCompiler.cpp.

#lockdown rolando.caloca
#rb rolando.caloca
#jira UE-69133

[CL 4824116 by Yuriy ODonnell in Dev-Rendering branch]
2019-01-28 13:41:26 -05:00
Rolando Caloca
732810a13b DR - Copying //UE4/Dev-Main@4785067 to //UE4-DevRendering
#rb none
#rnx
#lockdown Marcus.Wassmer

[CL 4790611 by Rolando Caloca in Dev-Rendering branch]
2019-01-23 17:01:56 -05:00
Yuriy ODonnell
fb5c2d1ad6 Renamed D3D11ShaderCompiler.cpp -> D3DShaderCompiler.cpp, as it is now used for both DXBC and DXIL shader compilation.
#rb Rolando.Caloca

[CL 4756477 by Yuriy ODonnell in Dev-Rendering branch]
2019-01-18 17:33:00 -05:00
Marcus Wassmer
fee98d3ca5 Merging //UE4/Dev-Main@4729937 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none

[CL 4730169 by Marcus Wassmer in Dev-Rendering branch]
2019-01-15 18:30:06 -05:00
Marcus Wassmer
a8d6cc952b Merging //UE4/Dev-Main@4700769 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none

[CL 4729861 by Marcus Wassmer in Dev-Rendering branch]
2019-01-15 18:04:38 -05:00
Rolando Caloca
e10b4c74a2 DR - Remove unused cvars from D3D shader compiler
- Write D3D asm file when dumping shaders
#rb none
#rnx

[CL 4688090 by Rolando Caloca in Dev-Rendering branch]
2019-01-08 08:57:22 -05:00
Marcus Wassmer
cbfcbbb93b Merging //UE4/Dev-Main@4662404 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
Should be just copyright updates

[CL 4680440 by Marcus Wassmer in Dev-Rendering branch]
2019-01-03 19:16:26 -05:00
Yuriy ODonnell
92196d3f64 Implemented ray tracing shader compile batch script generation and shader worker direct compile support
#rb Rolando.Caloca

[CL 4678725 by Yuriy ODonnell in Dev-Rendering branch]
2019-01-03 11:42:46 -05:00
Yuriy ODonnell
f510822c80 Fixed several static analysis warnings
- Optimization flags handling in D3DCreateDXCArguments
- Switch over PipelineType in FD3D12StateCacheBase::ApplyState
- LocalCBVs access in SetRayTracingShaderResources
- Possible nullptr dereference in FD3D12DynamicRHI::RHICreateUniformBuffer

#rb Kevin.Ortegren

[CL 4675940 by Yuriy ODonnell in Dev-Rendering branch]
2019-01-02 08:54:33 -05:00
Marcus Wassmer
4cc088f35c Copying //UE4/Dev-Rendering-HLR@4669539 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
#lockdown rolando.caloca

[CL 4669551 by Marcus Wassmer in Dev-Rendering branch]
2018-12-18 21:41:17 -05:00
Rolando Caloca
1c9ffe06d9 DR - Revert all the float3->float4 conversions. Will fix properly on hlslcc
#rb none
#rnx

[CL 4662040 by Rolando Caloca in Dev-Rendering branch]
2018-12-14 11:54:34 -05:00
Rolando Caloca
993ad33db7 DR - Using float3/half3/unit3/int3 as a loose/global parameter will now fail to compile on D3D
#rb none
#rnx

[CL 4659446 by Rolando Caloca in Dev-Rendering branch]
2018-12-13 16:34:44 -05:00