Emulate ARB_dsa functions that are used where no EXT variant exists

This commit is contained in:
baldurk
2018-10-17 15:44:17 +01:00
parent c45023236a
commit e0a185655d
2 changed files with 16 additions and 0 deletions
+1
View File
@@ -664,6 +664,7 @@ extern bool IsGLES;
EXT_TO_CHECK(44, 99, ARB_enhanced_layouts) \
EXT_TO_CHECK(44, 99, ARB_query_buffer_object) \
EXT_TO_CHECK(45, 99, ARB_clip_control) \
EXT_TO_CHECK(45, 99, ARB_direct_state_access) \
EXT_TO_CHECK(46, 99, ARB_polygon_offset_clamp) \
EXT_TO_CHECK(46, 99, ARB_texture_filter_anisotropic) \
EXT_TO_CHECK(46, 99, ARB_pipeline_statistics_query) \
@@ -2193,6 +2193,21 @@ void GLDispatchTable::EmulateRequiredExtensions()
EMULATE_FUNC(glVertexArrayVertexAttribOffsetEXT);
EMULATE_FUNC(glVertexArrayVertexBindingDivisorEXT);
}
// some functions we use from ARB that have no EXT equivalent, need to emulate them as well
if(!HasExt[ARB_direct_state_access])
{
RDCLOG("Emulating ARB_direct_state_access");
EMULATE_FUNC(glTransformFeedbackBufferBase)
EMULATE_FUNC(glTransformFeedbackBufferRange)
EMULATE_FUNC(glClearNamedFramebufferiv)
EMULATE_FUNC(glClearNamedFramebufferuiv)
EMULATE_FUNC(glClearNamedFramebufferfv)
EMULATE_FUNC(glClearNamedFramebufferfi)
EMULATE_FUNC(glBlitNamedFramebuffer)
EMULATE_FUNC(glVertexArrayElementBuffer);
EMULATE_FUNC(glVertexArrayVertexBuffers)
}
}
void GLDispatchTable::DriverForEmulation(WrappedOpenGL *driver)