gl_rasterizer: check for GL_ARB_copy_image
This commit is contained in:
parent
981ffb5090
commit
3fb1988b5b
|
@ -61,6 +61,11 @@ RasterizerOpenGL::RasterizerOpenGL()
|
||||||
"Shadow might not be able to render because of unsupported OpenGL extensions.");
|
"Shadow might not be able to render because of unsupported OpenGL extensions.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!GLAD_GL_ARB_copy_image) {
|
||||||
|
LOG_WARNING(Render_OpenGL,
|
||||||
|
"ARB_copy_image not supported. Some games might produce artifacts.");
|
||||||
|
}
|
||||||
|
|
||||||
// Clipping plane 0 is always enabled for PICA fixed clip plane z <= 0
|
// Clipping plane 0 is always enabled for PICA fixed clip plane z <= 0
|
||||||
state.clip_distance[0] = true;
|
state.clip_distance[0] = true;
|
||||||
|
|
||||||
|
@ -772,7 +777,7 @@ bool RasterizerOpenGL::Draw(bool accelerate, bool is_indexed) {
|
||||||
}
|
}
|
||||||
|
|
||||||
OGLTexture temp_tex;
|
OGLTexture temp_tex;
|
||||||
if (need_duplicate_texture) {
|
if (need_duplicate_texture && GLAD_GL_ARB_copy_image) {
|
||||||
// The game is trying to use a surface as a texture and framebuffer at the same time
|
// The game is trying to use a surface as a texture and framebuffer at the same time
|
||||||
// which causes unpredictable behavior on the host.
|
// which causes unpredictable behavior on the host.
|
||||||
// Making a copy to sample from eliminates this issue and seems to be fairly cheap.
|
// Making a copy to sample from eliminates this issue and seems to be fairly cheap.
|
||||||
|
|
Reference in New Issue