#include <string>
#include <vector>
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"
namespace dawn {
namespace {
enum class Phase { … };
std::ostream& operator<<(std::ostream& o, Phase p) { … }
enum class Compare : int { … };
std::ostream& operator<<(std::ostream& o, Compare c) { … }
template <class Params>
struct BuiltinPartialConstLowHighBase : public DawnTestWithParams<Params> { … };
Builtin;
LowPhase;
HighPhase;
Scalar;
DAWN_TEST_PARAM_STRUCT(BuiltinPartialConstLowHighParams,
Builtin,
LowPhase,
HighPhase,
Compare,
Scalar);
class ShaderBuiltinPartialConstLowHighTest
: public BuiltinPartialConstLowHighBase<BuiltinPartialConstLowHighParams> { … };
TEST_P(ShaderBuiltinPartialConstLowHighTest, All) { … }
DAWN_INSTANTIATE_TEST_P(…);
template <class Params>
struct BuiltinPartialConstOffsetCountBase : public DawnTestWithParams<Params> { … };
Builtin;
OffsetPhase;
CountPhase;
OffsetTooBig;
CountTooBig;
DAWN_TEST_PARAM_STRUCT(BuiltinPartialConstOffsetCountParams,
Builtin,
OffsetPhase,
CountPhase,
OffsetTooBig,
CountTooBig);
class ShaderBuiltinPartialConstOffsetCountTest
: public BuiltinPartialConstOffsetCountBase<BuiltinPartialConstOffsetCountParams> { … };
TEST_P(ShaderBuiltinPartialConstOffsetCountTest, All) { … }
DAWN_INSTANTIATE_TEST_P(…);
enum class FloatType { … };
std::ostream& operator<<(std::ostream& o, FloatType ty) { … }
template <class Params>
class BuiltinPartialConstExponentBase : public DawnTestWithParams<Params> { … };
ExponentPhase;
ExponentTooBig;
Scalar;
DAWN_TEST_PARAM_STRUCT(BuiltinPartialConstExponentParams,
FloatType,
ExponentPhase,
ExponentTooBig,
Scalar);
class ShaderBuiltinPartialConstExponentTest
: public BuiltinPartialConstExponentBase<BuiltinPartialConstExponentParams> { … };
TEST_P(ShaderBuiltinPartialConstExponentTest, All) { … }
DAWN_INSTANTIATE_TEST_P(…);
}
}