mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-09 05:27:49 +00:00
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:
committed by
Corentin Wallez
parent
f280e87f36
commit
ff57ccbcf1
@@ -23,12 +23,14 @@ namespace d3d12 {
|
||||
: ShaderModuleBase(builder), device(device) {
|
||||
spirv_cross::CompilerHLSL compiler(builder->AcquireSpirv());
|
||||
|
||||
spirv_cross::CompilerHLSL::Options options;
|
||||
options.shader_model = 51;
|
||||
options.flip_vert_y = false;
|
||||
options.fixup_clipspace = true;
|
||||
spirv_cross::CompilerGLSL::Options options_glsl;
|
||||
options_glsl.vertex.flip_vert_y = false;
|
||||
options_glsl.vertex.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);
|
||||
|
||||
|
||||
@@ -57,6 +57,7 @@ namespace opengl {
|
||||
#else
|
||||
options.version = 440;
|
||||
#endif
|
||||
options.vertex.flip_vert_y = true;
|
||||
compiler.set_options(options);
|
||||
|
||||
// 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}});
|
||||
}
|
||||
|
||||
NXT_INSTANTIATE_TEST(InputStateTest, D3D12Backend, MetalBackend)
|
||||
NXT_INSTANTIATE_TEST(InputStateTest, D3D12Backend, MetalBackend, OpenGLBackend)
|
||||
|
||||
// TODO for the input state:
|
||||
// - 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)
|
||||
|
||||
2
third_party/spirv-cross
vendored
2
third_party/spirv-cross
vendored
Submodule third_party/spirv-cross updated: e8eae4d7dd...694cad5332
Reference in New Issue
Block a user