Implement inter-stage variable matching rules - Part I

This patch implements the inter-stage variable matching rules on
the attributes 'location', 'base type' and 'composition type'.

In the next patch we will implement the matching rules on the
'interpoliation type' and 'interpoliation sampling'.

BUG=dawn:802
TEST=dawn_unittests

Change-Id: Ic0a273e01dced301d437add83bad3d0c7d94a133
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58363
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
This commit is contained in:
Jiawei Shao
2021-07-26 01:39:21 +00:00
committed by Dawn LUCI CQ
parent 68c771a637
commit c686a6a541
6 changed files with 228 additions and 3 deletions

View File

@@ -25,6 +25,7 @@ static constexpr uint32_t kNumStages = 3;
static constexpr uint8_t kMaxColorAttachments = 8u;
static constexpr uint32_t kTextureBytesPerRowAlignment = 256u;
static constexpr uint32_t kMaxInterStageShaderComponents = 60u;
static constexpr uint32_t kMaxInterStageShaderVariables = kMaxInterStageShaderComponents / 4;
// Compute constants
static constexpr uint32_t kMaxComputeWorkgroupStorageSize = 16352u;