зеркало из https://github.com/stride3d/xkslang.git
Add tests for GL_NV_shader_noperspective_interpolation
This commit is contained in:
Родитель
017a567be1
Коммит
f648083365
|
@ -0,0 +1,38 @@
|
|||
nvShaderNoperspectiveInterpolation.frag
|
||||
ERROR: 0:5: 'noperspective' : Reserved word.
|
||||
ERROR: 0:5: 'noperspective' : not supported for this version or the enabled extensions
|
||||
ERROR: 2 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 300
|
||||
Requested GL_NV_shader_noperspective_interpolation
|
||||
ERROR: node is still EOpNull!
|
||||
0:13 Function Definition: main( ( global void)
|
||||
0:13 Function Parameters:
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp mediump 4-component vector of float)
|
||||
0:14 'fragColor' ( out mediump 4-component vector of float)
|
||||
0:14 'color' ( noperspective in mediump 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'bad' ( noperspective in mediump 4-component vector of float)
|
||||
0:? 'color' ( noperspective in mediump 4-component vector of float)
|
||||
0:? 'fragColor' ( out mediump 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 300
|
||||
Requested GL_NV_shader_noperspective_interpolation
|
||||
ERROR: node is still EOpNull!
|
||||
0:13 Function Definition: main( ( global void)
|
||||
0:13 Function Parameters:
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp mediump 4-component vector of float)
|
||||
0:14 'fragColor' ( out mediump 4-component vector of float)
|
||||
0:14 'color' ( noperspective in mediump 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'bad' ( noperspective in mediump 4-component vector of float)
|
||||
0:? 'color' ( noperspective in mediump 4-component vector of float)
|
||||
0:? 'fragColor' ( out mediump 4-component vector of float)
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
#version 300 es
|
||||
|
||||
precision mediump float;
|
||||
|
||||
noperspective in vec4 bad; // ERROR
|
||||
|
||||
#extension GL_NV_shader_noperspective_interpolation : enable
|
||||
|
||||
noperspective in vec4 color;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
fragColor = color;
|
||||
}
|
|
@ -41,6 +41,10 @@ namespace {
|
|||
|
||||
using CompileToAstTest = GlslangTest<::testing::TestWithParam<std::string>>;
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
using CompileToAstTestNV = GlslangTest<::testing::TestWithParam<std::string>>;
|
||||
#endif
|
||||
|
||||
TEST_P(CompileToAstTest, FromFile)
|
||||
{
|
||||
loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(),
|
||||
|
@ -48,6 +52,16 @@ TEST_P(CompileToAstTest, FromFile)
|
|||
Target::AST);
|
||||
}
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
// Compiling GLSL to SPIR-V under OpenGL semantics (NV extensions enabled).
|
||||
TEST_P(CompileToAstTestNV, FromFile)
|
||||
{
|
||||
loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(),
|
||||
Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0,
|
||||
Target::AST);
|
||||
}
|
||||
#endif
|
||||
|
||||
// clang-format off
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
Glsl, CompileToAstTest,
|
||||
|
@ -214,6 +228,16 @@ INSTANTIATE_TEST_CASE_P(
|
|||
})),
|
||||
FileNameAsCustomTestSuffix
|
||||
);
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
Glsl, CompileToAstTestNV,
|
||||
::testing::ValuesIn(std::vector<std::string>({
|
||||
"nvShaderNoperspectiveInterpolation.frag",
|
||||
})),
|
||||
FileNameAsCustomTestSuffix
|
||||
);
|
||||
#endif
|
||||
// clang-format on
|
||||
|
||||
} // anonymous namespace
|
||||
|
|
|
@ -171,7 +171,7 @@ TEST_P(CompileVulkanToSpirvTestAMD, FromFile)
|
|||
#endif
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
// Compiling GLSL to SPIR-V under Vulkan semantics (AMD extensions enabled).
|
||||
// Compiling GLSL to SPIR-V under Vulkan semantics (NV extensions enabled).
|
||||
// Expected to successfully generate SPIR-V.
|
||||
TEST_P(CompileVulkanToSpirvTestNV, FromFile)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче