Commit 1d480fcc by Shahbaz Youssefi Committed by Commit Bot

Fix image linking not verifying same format

Bug: angleproject:4316 Change-Id: I7508c0f9b0546bf3a23f819de49e7a91a74b6bc9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2018046Reviewed-by: 's avatarIan Elliott <ianelliott@google.com> Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent 4e98dfea
...@@ -472,6 +472,8 @@ const char *GetLinkMismatchErrorString(LinkMismatchError linkError) ...@@ -472,6 +472,8 @@ const char *GetLinkMismatchErrorString(LinkMismatchError linkError)
return "Offset layout qualifier"; return "Offset layout qualifier";
case LinkMismatchError::INSTANCE_NAME_MISMATCH: case LinkMismatchError::INSTANCE_NAME_MISMATCH:
return "Instance name qualifier"; return "Instance name qualifier";
case LinkMismatchError::FORMAT_MISMATCH:
return "Format qualifier";
case LinkMismatchError::LAYOUT_QUALIFIER_MISMATCH: case LinkMismatchError::LAYOUT_QUALIFIER_MISMATCH:
return "Layout qualifier"; return "Layout qualifier";
...@@ -3938,6 +3940,10 @@ LinkMismatchError Program::LinkValidateVariablesBase(const sh::ShaderVariable &v ...@@ -3938,6 +3940,10 @@ LinkMismatchError Program::LinkValidateVariablesBase(const sh::ShaderVariable &v
{ {
return LinkMismatchError::STRUCT_NAME_MISMATCH; return LinkMismatchError::STRUCT_NAME_MISMATCH;
} }
if (variable1.imageUnitFormat != variable2.imageUnitFormat)
{
return LinkMismatchError::FORMAT_MISMATCH;
}
if (variable1.fields.size() != variable2.fields.size()) if (variable1.fields.size() != variable2.fields.size())
{ {
......
...@@ -77,10 +77,11 @@ enum class LinkMismatchError ...@@ -77,10 +77,11 @@ enum class LinkMismatchError
LOCATION_MISMATCH, LOCATION_MISMATCH,
OFFSET_MISMATCH, OFFSET_MISMATCH,
INSTANCE_NAME_MISMATCH, INSTANCE_NAME_MISMATCH,
FORMAT_MISMATCH,
// Interface block specific // Interface block specific
LAYOUT_QUALIFIER_MISMATCH, LAYOUT_QUALIFIER_MISMATCH,
MATRIX_PACKING_MISMATCH MATRIX_PACKING_MISMATCH,
}; };
class InfoLog : angle::NonCopyable class InfoLog : angle::NonCopyable
......
...@@ -60,7 +60,6 @@ ...@@ -60,7 +60,6 @@
// Image related failures // Image related failures
4316 : KHR-GLES31.core.shader_image_load_store.negative-linkErrors = FAIL
4312 VULKAN : KHR-GLES31.core.shader_image_load_store.basic-glsl-misc-fs = SKIP 4312 VULKAN : KHR-GLES31.core.shader_image_load_store.basic-glsl-misc-fs = SKIP
4312 VULKAN : KHR-GLES31.core.shader_image_load_store.advanced-sync-imageAccess = SKIP 4312 VULKAN : KHR-GLES31.core.shader_image_load_store.advanced-sync-imageAccess = SKIP
4312 VULKAN : KHR-GLES31.core.shader_image_load_store.advanced-allMips-fs = SKIP 4312 VULKAN : KHR-GLES31.core.shader_image_load_store.advanced-allMips-fs = SKIP
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment