video_core: Fix fragment shader interlock usage on OpenGL. (#7144)

This commit is contained in:
Steveice10 2023-11-10 13:14:52 -08:00 committed by GitHub
parent 13d02c14e0
commit d4f31bc617
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 69 additions and 14 deletions

View file

@ -1234,10 +1234,11 @@ void FragmentModule::DefineExtensions() {
out += "#extension GL_NV_fragment_shader_interlock : enable\n";
out += "#define beginInvocationInterlock beginInvocationInterlockNV\n";
out += "#define endInvocationInterlock endInvocationInterlockNV\n";
} else if (profile.has_gl_intel_fragment_shader_interlock) {
} else if (profile.has_gl_intel_fragment_shader_ordering) {
// NOTE: Intel does not have an end function for this.
out += "#extension GL_INTEL_fragment_shader_ordering : enable\n";
out += "#define beginInvocationInterlock beginFragmentShaderOrderingINTEL\n";
out += "#define endInvocationInterlock\n";
out += "#define endInvocationInterlock()\n";
} else {
use_fragment_shader_interlock = false;
}

View file

@ -19,7 +19,7 @@ struct Profile {
bool has_gl_ext_framebuffer_fetch{};
bool has_gl_arm_framebuffer_fetch{};
bool has_gl_nv_fragment_shader_interlock{};
bool has_gl_intel_fragment_shader_interlock{};
bool has_gl_intel_fragment_shader_ordering{};
bool has_gl_nv_fragment_shader_barycentric{};
bool is_vulkan{};
};