[ATOM][RHI][Vulkan][Android]

-Add different pass for screen space blur for mobile.
-Add macro for constant buffer limits for android vulkan.

JIRA: https://jira.agscollab.com/browse/ATOM-14947 https://jira.agscollab.com/browse/ATOM-14949
This commit is contained in:
Peng
2021-04-21 13:33:29 -07:00
parent 3b8d81f6a3
commit 47ed211bf6
4 changed files with 186 additions and 2 deletions
@@ -19,3 +19,7 @@
#define AZ_TRAIT_ASTC_COMPRESSION 1
static const float4 s_AzslDebugColor = float4(165.0 / 255.0, 30.0 / 255.0, 36.0 / 255.0, 1);
// Uniform limitation need to be taken into consideration for mobile devices
// https://jira.agscollab.com/browse/ATOM-14949
#define AZ_TRAIT_CONSTANT_BUFFER_LIMITATIONS 1
@@ -0,0 +1,43 @@
{
"Type": "JsonSerialization",
"Version": 1,
"ClassName": "PassAsset",
"ClassData": {
"PassTemplate": {
"Name": "ReflectionScreenSpaceBlurMobilePassTemplate",
"PassClass": "ReflectionScreenSpaceBlurPass",
"Slots": [
{
"Name": "PreviousFrameInputOutput",
"SlotType": "InputOutput",
"ScopeAttachmentUsage": "Shader"
}
],
"ImageAttachments": [
{
"Name": "PreviousFrameImage",
"SizeSource": {
"Source": {
"Pass": "Parent",
"Attachment": "SpecularInput"
}
},
"ImageDescriptor": {
"Format": "R8G8B8A8_SINT",
"MipLevels": "8",
"SharedQueueMask": "Graphics"
}
}
],
"Connections": [
{
"LocalSlot": "PreviousFrameInputOutput",
"AttachmentRef": {
"Pass": "This",
"Attachment": "PreviousFrameImage"
}
}
]
}
}
}
@@ -0,0 +1,137 @@
{
"Type": "JsonSerialization",
"Version": 1,
"ClassName": "PassAsset",
"ClassData": {
"PassTemplate": {
"Name": "ReflectionScreenSpaceMobilePassTemplate",
"PassClass": "ParentPass",
"Slots": [
{
"Name": "NormalInput",
"SlotType": "Input",
"ScopeAttachmentUsage": "Shader"
},
{
"Name": "SpecularF0Input",
"SlotType": "Input",
"ScopeAttachmentUsage": "Shader"
},
{
"Name": "SpecularInput",
"SlotType": "Input",
"ScopeAttachmentUsage": "Shader"
},
{
"Name": "DepthStencilInput",
"SlotType": "Input",
"ScopeAttachmentUsage": "DepthStencil"
},
{
"Name": "ReflectionInputOutput",
"SlotType": "InputOutput",
"ScopeAttachmentUsage": "RenderTarget"
}
],
"PassRequests": [
{
"Name": "ReflectionScreenSpaceBlurMobilePass",
"TemplateName": "ReflectionScreenSpaceBlurMobilePassTemplate"
},
{
"Name": "ReflectionScreenSpaceTracePass",
"TemplateName": "ReflectionScreenSpaceTracePassTemplate",
"Connections": [
{
"LocalSlot": "DepthStencilTextureInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "DepthStencilInput"
}
},
{
"LocalSlot": "NormalInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "NormalInput"
}
},
{
"LocalSlot": "DepthStencilInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "DepthStencilInput"
}
},
{
"LocalSlot": "SpecularF0Input",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "SpecularF0Input"
}
}
]
},
{
"Name": "ReflectionScreenSpaceCompositePass",
"TemplateName": "ReflectionScreenSpaceCompositePassTemplate",
"ExecuteAfter": [
"ReflectionScreenSpaceBlurPass"
],
"Connections": [
{
"LocalSlot": "TraceInput",
"AttachmentRef": {
"Pass": "ReflectionScreenSpaceTracePass",
"Attachment": "Output"
}
},
{
"LocalSlot": "PreviousFrameBufferInput",
"AttachmentRef": {
"Pass": "ReflectionScreenSpaceBlurPass",
"Attachment": "PreviousFrameInputOutput"
}
},
{
"LocalSlot": "NormalInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "NormalInput"
}
},
{
"LocalSlot": "SpecularF0Input",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "SpecularF0Input"
}
},
{
"LocalSlot": "DepthStencilTextureInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "DepthStencilInput"
}
},
{
"LocalSlot": "DepthStencilInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "DepthStencilInput"
}
},
{
"LocalSlot": "Output",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "ReflectionInputOutput"
}
}
]
}
]
}
}
}
@@ -273,8 +273,8 @@
}
},
{
"Name": "ReflectionScreenSpacePass",
"TemplateName": "ReflectionScreenSpacePassTemplate",
"Name": "ReflectionScreenSpaceMobilePass",
"TemplateName": "ReflectionScreenSpaceMobilePassTemplate",
"Enabled": false,
"Connections": [
{