90 Commits

Author SHA1 Message Date
Lukas Hermanns
d726b7cc35 Applied same fix for Vulkan tessellation on AMD GPU as in Dev-Rendering (see CL 8129425).
#rb Rolando.Caloca
#lockdown Nick.Penwarden
#jira UE-77908

[CL 8212928 by Lukas Hermanns in 4.23 branch]
2019-08-22 12:49:24 -04:00
Juan Canada
fbbde492ea Cherry-pick 7106794: Added "GL_OES_shader_image_atomic" extension to Vulkan backend for Lumin platform.
#jira UE-75890
#rb Rolando.Caloca
#rnx

[CL 7768628 by Juan Canada in 4.23 branch]
2019-08-05 13:08:36 -04:00
Dmitriy Dyomin
dfcb8a96c7 Add GL_OES_shader_image_atomic as a requirement for VK feature level ES3.1, to support Niagara GPU sim
#jira UE-76944
#rb none

[CL 7473520 by Dmitriy Dyomin in 4.23 branch]
2019-07-22 01:30:11 -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
Jeff Fisher
bcc5bcf128 Copying //UE4/Dev-VR to Main (//UE4/Main)
-Copy up for 4.23
#rb none

[CL 6911980 by Jeff Fisher in Main branch]
2019-06-10 12:22:13 -04:00
Ben Marsh
0cc6e3dca6 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 6631504 by Ben Marsh in Main branch]
2019-05-24 11:51:54 -04:00
dmitriy dyomin
a057ce7394 Support auto-instancing on mobile ES3.1 feature level (Metal, OpenGL ES3.1, Vulkan)
Disabled by default, can be enabled with r.Mobile.SupportGPUScene=1
#jira UE-71355
#rb rolando.caloca, zach.bethel
[FYI] rolando.caloca, zach.bethel


#ROBOMERGE-SOURCE: CL 6617026 via CL 6617089
#ROBOMERGE-BOT: (v358-6608238)

[CL 6617118 by dmitriy dyomin in Main branch]
2019-05-23 00:36:32 -04:00
ben marsh
787b1dc05e Copy of CL 5906283
Fixed tessellation shader cross-compilation for Vulkan backend.

#rb Rolando.Caloca
#lockdown Marcus.Wassmer
#jira UE-54442

#ROBOMERGE-SOURCE: CL 5952885 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5952886 by ben marsh in Main branch]
2019-04-17 14:59:02 -04:00
rolando caloca
955a14de37 UE4 - Fix invalid IR on hlslcc potentially causing a crash
#rb none
[FYI] Jonas.Meyer
#rnx
#jira UE-71397

#ROBOMERGE-OWNER: rolando.caloca
#ROBOMERGE-AUTHOR: rolando.caloca
#ROBOMERGE-SOURCE: CL 5399410 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5399503 by rolando caloca in Main branch]
2019-03-14 14:16:41 -04:00
jonas meyer
ea912b9911 Bump shader version for jira UE-71386.
Followup change to the vulkan nan fix.
hlslcc was not generating conditional moves for swizzles, causing the proposed fix to generate a lot of code. this is fixed with this change

#jira UE-71386
#rb rolando.caloca

Code Before:
{
		bvec4 v138 = bvec4(false,false,false,false);
		v138.xyzw = lessThan(floatBitsToUint(v137),uvec4(2139095040u,2139095040u,2139095040u,2139095040u));
		vec4 v139 = vec4(0.000000,0.000000,0.000000,0.000000);
		if (not(v138).x)
		{
			v139.x = 0.000000;
		}
		else
		{
			v139.x = v137.x;
		}
		if (not(v138).y)
		{
			v139.y = 0.000000;
		}
		else
		{
			v139.y = v137.y;
		}
		if (not(v138).z)
		{
			v139.z = 0.000000;
		}
		else
		{
			v139.z = v137.z;
		}
		if (not(v138).w)
		{
			v139.w = 0.000000;
		}
		else
		{
			v139.w = v137.w;
		}
		imageStore( RWLightScattering, ivec3(gl_GlobalInvocationID), v139.xyzw);
	}

Code After

	{
		bvec4 v138 = bvec4(false,false,false,false);
		v138.xyzw = lessThan(floatBitsToUint(v137),uvec4(2139095040u,2139095040u,2139095040u,2139095040u));
		vec4 v139 = vec4(0.000000,0.000000,0.000000,0.000000);
		v139.x = (not(v138).x)?(0.000000):(v137.x);
		v139.y = (not(v138).y)?(0.000000):(v137.y);
		v139.z = (not(v138).z)?(0.000000):(v137.z);
		v139.w = (not(v138).w)?(0.000000):(v137.w);
		imageStore( RWLightScattering, ivec3(gl_GlobalInvocationID), v139.xyzw);
	}

#ROBOMERGE-OWNER: jonas.meyer
#ROBOMERGE-AUTHOR: jonas.meyer
#ROBOMERGE-SOURCE: CL 5382705 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5383313 by jonas meyer in Main branch]
2019-03-13 11:41:33 -04:00
jonas meyer
4bf590b04d Fix nans on vulkan.
hlslcc was incorrectly converting conditionals to mix. When one of the operand is a nan, this conversion is incorrect, as the nan will propagate, and thus we get weird bugs where the nans stick around.
#jira UE-71386
#rb rolando.caloca emil.persson

#ROBOMERGE-SOURCE: CL 5380320 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5380325 by jonas meyer in Main branch]
2019-03-13 07:53:15 -04:00
rolando caloca
6a91db8fee UE4.22 - Tessellation on Vulkan (experimental, disabled)
#rb none
#jira
#rnx

#ROBOMERGE-OWNER: rolando.caloca
#ROBOMERGE-AUTHOR: rolando.caloca
#ROBOMERGE-SOURCE: CL 5318719 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5337029 by rolando caloca in Main branch]
2019-03-07 09:13:39 -05:00
ben marsh
4f7d0787ad Remove overrides forcing undefined identifier and shadow variable warnings off. Separating out from change to force these settings to create a new PCH to prevent the warning setting being ignored.
#rb none
#jira

#ROBOMERGE-SOURCE: CL 5295892 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5308944 by ben marsh in Main branch]
2019-03-05 18:48:29 -05:00
rolando caloca
1df046219e UE4.22 - Modify SPIR-V shader entry point name so it can be found easily while debugging (like Metal)
#rb none
#rnx
#jira UE-70676

#ROBOMERGE-SOURCE: CL 5271453 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5271454 by rolando caloca in Main branch]
2019-03-01 16:20:45 -05:00
rolando caloca
8a9099cbaf UE4.22 - Fix Lumin shaders format
#rnx
#rb none
#jira UE-UE-70308

#ROBOMERGE-SOURCE: CL 5095354 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5095358 by rolando caloca in Main branch]
2019-02-20 14:58:38 -05:00
rolando caloca
b119b7cc3c UE4.22 - Fix Texture2dArray crash on Vulkan
#rb none
#jira
#rnx
[FYI] Mark.Satterthwaite

#ROBOMERGE-SOURCE: CL 4984286 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 4984314 by rolando caloca in Main branch]
2019-02-13 13:03:31 -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
Ben Marsh
c09b6d7f18 Merge from //UE4/Main.
#rb none
#rnx

[CL 4701155 by Ben Marsh in Dev-Build branch]
2019-01-10 11:10:29 -05:00
Rolando Caloca
c6ce9f0790 DR - Dump hlslcc flags for Metal direct compiler
- Don't validate on Vulkan shaders unless on debug
#rb none

[CL 4686842 by Rolando Caloca in Dev-Rendering branch]
2019-01-07 17:35:21 -05:00
Rolando Caloca
26cf301968 DR - hlslcc - Fix for samplers getting removed while inlining
#rb none
#rnx

[CL 4683264 by Rolando Caloca in Dev-Rendering branch]
2019-01-04 17:38:16 -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
Rolando Caloca
990204b930 DR - vk - Do not emit precision on bool variables
#rb none
#rnx

[CL 4667349 by Rolando Caloca in Dev-Rendering branch]
2018-12-17 18:47:14 -05:00
Rolando Caloca
016944b119 DR - hlslcc - Retain sizes for global uniforms (ie float3 doesn't get promoted to float4)
#rb none
#rnx

[CL 4662704 by Rolando Caloca in Dev-Rendering branch]
2018-12-14 14:51:12 -05:00
Ben Marsh
530369c613 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 4662695 by Ben Marsh in Dev-Build branch]
2018-12-14 14:49:12 -05:00
Marcus Wassmer
b5d7db3689 Copying //UE4/Dev-Rendering-HLR@4650617 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none

[CL 4651635 by Marcus Wassmer in Dev-Rendering branch]
2018-12-11 22:25:04 -05:00