Fix OpenGL device initialization and file shaders
This commit is contained in:
@@ -140,4 +140,40 @@ TEST_P(RHITestFixture, Shader_Shutdown_Invalidates) {
|
||||
EXPECT_FALSE(shader->IsValid());
|
||||
delete shader;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_P(RHITestFixture, Shader_Compile_FromFile_ReturnsValidShader) {
|
||||
ShaderCompileDesc desc = {};
|
||||
if (GetBackendType() == RHIType::D3D12) {
|
||||
desc.fileName = L"tests/RHI/D3D12/integration/quad/Res/Shader/quad.hlsl";
|
||||
desc.entryPoint = L"MainVS";
|
||||
desc.profile = L"vs_5_0";
|
||||
} else {
|
||||
desc.fileName = L"tests/RHI/OpenGL/integration/triangle/Res/Shader/triangle.vert";
|
||||
desc.entryPoint = L"main";
|
||||
desc.profile = L"vs_4_30";
|
||||
}
|
||||
|
||||
RHIShader* shader = GetDevice()->CreateShader(desc);
|
||||
ASSERT_NE(shader, nullptr);
|
||||
EXPECT_TRUE(shader->IsValid());
|
||||
EXPECT_EQ(shader->GetType(), ShaderType::Vertex);
|
||||
shader->Shutdown();
|
||||
delete shader;
|
||||
}
|
||||
|
||||
TEST_P(RHITestFixture, Shader_Compile_MissingFile_ReturnsNullptr) {
|
||||
ShaderCompileDesc desc = {};
|
||||
if (GetBackendType() == RHIType::D3D12) {
|
||||
desc.fileName = L"tests/RHI/D3D12/integration/quad/Res/Shader/does_not_exist.hlsl";
|
||||
desc.entryPoint = L"MainVS";
|
||||
desc.profile = L"vs_5_0";
|
||||
} else {
|
||||
desc.fileName = L"tests/RHI/OpenGL/integration/triangle/Res/Shader/does_not_exist.vert";
|
||||
desc.entryPoint = L"main";
|
||||
desc.profile = L"vs_4_30";
|
||||
}
|
||||
|
||||
RHIShader* shader = GetDevice()->CreateShader(desc);
|
||||
EXPECT_EQ(shader, nullptr);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user