OpenGL: Fix rendered textures being flipped.
This was because the clip space of OpenGL has an inverted Y compared to other APIs. This commit: - Updates SPIRV-Cross to the latest version - Uses the new vertex.flip_vert_y option in ShaderModuleGL - Enables tests that are now passing in GL.
This commit is contained in:
parent
f280e87f36
commit
ff57ccbcf1
|
@ -23,12 +23,14 @@ namespace d3d12 {
|
||||||
: ShaderModuleBase(builder), device(device) {
|
: ShaderModuleBase(builder), device(device) {
|
||||||
spirv_cross::CompilerHLSL compiler(builder->AcquireSpirv());
|
spirv_cross::CompilerHLSL compiler(builder->AcquireSpirv());
|
||||||
|
|
||||||
spirv_cross::CompilerHLSL::Options options;
|
spirv_cross::CompilerGLSL::Options options_glsl;
|
||||||
options.shader_model = 51;
|
options_glsl.vertex.flip_vert_y = false;
|
||||||
options.flip_vert_y = false;
|
options_glsl.vertex.fixup_clipspace = true;
|
||||||
options.fixup_clipspace = true;
|
compiler.spirv_cross::CompilerGLSL::set_options(options_glsl);
|
||||||
|
|
||||||
compiler.set_options(options);
|
spirv_cross::CompilerHLSL::Options options_hlsl;
|
||||||
|
options_hlsl.shader_model = 51;
|
||||||
|
compiler.spirv_cross::CompilerHLSL::set_options(options_hlsl);
|
||||||
|
|
||||||
ExtractSpirvInfo(compiler);
|
ExtractSpirvInfo(compiler);
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ namespace opengl {
|
||||||
#else
|
#else
|
||||||
options.version = 440;
|
options.version = 440;
|
||||||
#endif
|
#endif
|
||||||
|
options.vertex.flip_vert_y = true;
|
||||||
compiler.set_options(options);
|
compiler.set_options(options);
|
||||||
|
|
||||||
// Rename the push constant block to be prefixed with the shader stage type so that uniform names
|
// Rename the push constant block to be prefixed with the shader stage type so that uniform names
|
||||||
|
|
|
@ -439,7 +439,7 @@ TEST_P(InputStateTest, MixedEverything) {
|
||||||
DoTestDraw(pipeline, 1, 1, {{0, &buffer0}, {1, &buffer1}});
|
DoTestDraw(pipeline, 1, 1, {{0, &buffer0}, {1, &buffer1}});
|
||||||
}
|
}
|
||||||
|
|
||||||
NXT_INSTANTIATE_TEST(InputStateTest, D3D12Backend, MetalBackend)
|
NXT_INSTANTIATE_TEST(InputStateTest, D3D12Backend, MetalBackend, OpenGLBackend)
|
||||||
|
|
||||||
// TODO for the input state:
|
// TODO for the input state:
|
||||||
// - Add more vertex formats
|
// - Add more vertex formats
|
||||||
|
|
|
@ -308,4 +308,4 @@ TEST_P(PrimitiveTopologyTest, TriangleStrip) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
NXT_INSTANTIATE_TEST(PrimitiveTopologyTest, D3D12Backend, MetalBackend)
|
NXT_INSTANTIATE_TEST(PrimitiveTopologyTest, D3D12Backend, MetalBackend, OpenGLBackend)
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit e8eae4d7dde433b1a8dc7e9a977508f8cef9c984
|
Subproject commit 694cad533296df02b4562f4a5a20cba1d1a9dbaf
|
Loading…
Reference in New Issue