Decoration Stream depends on it.
GeometryStreams depends on Geometry capability.
Spot check dependence of OpEmitStreamVertex on GeometryStreams.
(Opcode dependencies on capabilities are automatically generated from
opcode.inc)
{SPV_OPERAND_TYPE_NONE}},
{"Stream",
SpvDecorationStream,
- SPV_CAPABILITY_AS_MASK(SpvCapabilityGeometry),
+ SPV_CAPABILITY_AS_MASK(SpvCapabilityGeometryStreams),
{SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
{"Location",
SpvDecorationLocation,
CASE_CAP(DerivativeControl, Shader),
CASE_CAP(InterpolationFunction, Shader),
CASE_CAP(TransformFeedback, Shader),
+ CASE_CAP(GeometryStreams, Geometry),
};
#undef CASE
#undef CASE_CAP
TEST(CapabilityAsMaskMacro, Sample) {
EXPECT_EQ(uint64_t(1), SPV_CAPABILITY_AS_MASK(SpvCapabilityMatrix));
- EXPECT_EQ(uint64_t(0x8000),
- SPV_CAPABILITY_AS_MASK(SpvCapabilityImageMipmap));
+ EXPECT_EQ(uint64_t(0x8000), SPV_CAPABILITY_AS_MASK(SpvCapabilityImageMipmap));
EXPECT_EQ(uint64_t(0x100000000ULL),
SPV_CAPABILITY_AS_MASK(SpvCapabilityClipDistance));
EXPECT_EQ(uint64_t(1) << 53,
mask(SpvCapabilityAddresses)},
ExpectedOpCodeCapabilities{SpvOpArrayLength, mask(SpvCapabilityShader)},
ExpectedOpCodeCapabilities{SpvOpFunction, 0},
- ExpectedOpCodeCapabilities{SpvOpConvertFToS, 0}));
+ ExpectedOpCodeCapabilities{SpvOpConvertFToS, 0},
+ ExpectedOpCodeCapabilities{SpvOpEmitStreamVertex,
+ mask(SpvCapabilityGeometryStreams)}));
} // anonymous namespace
CASE1(DECORATION, DecorationUniform, Shader),
// Value 27 is an intentional gap in the spec numbering.
CASE1(DECORATION, DecorationSaturatedConversion, Kernel),
- CASE1(DECORATION, DecorationStream, Geometry),
+ CASE1(DECORATION, DecorationStream, GeometryStreams),
CASE1(DECORATION, DecorationLocation, Shader),
CASE1(DECORATION, DecorationComponent, Shader),
CASE1(DECORATION, DecorationIndex, Shader),
CASE1(CAPABILITY, CapabilityDerivativeControl, Shader),
CASE1(CAPABILITY, CapabilityInterpolationFunction, Shader),
CASE1(CAPABILITY, CapabilityTransformFeedback, Shader),
+ CASE1(CAPABILITY, CapabilityGeometryStreams, Geometry),
}));
#undef CASE0