glx: Enable GLX_ARB_fbconfig_float for DRI2 drivers
v2 (idr): Maintain sort order of extension list. Fixed rebase error (comment header for initializeExtensions was in front of __glXDRIinvalidateBuffers). Re-write commit message. Signed-off-by: Daniel Czarnowski <daniel.czarnowski@intel.com> Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
ccc8bb1153
commit
c671e935e7
|
@ -65,12 +65,17 @@ struct extension_info {
|
||||||
unsigned char driver_support;
|
unsigned char driver_support;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of known GLX Extensions.
|
||||||
|
* The last Y/N switch informs whether the support of this extension is always enabled.
|
||||||
|
*/
|
||||||
static const struct extension_info known_glx_extensions[] = {
|
static const struct extension_info known_glx_extensions[] = {
|
||||||
/* GLX_ARB_get_proc_address is implemented on the client. */
|
/* GLX_ARB_get_proc_address is implemented on the client. */
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
{ GLX(ARB_create_context), VER(0,0), N, },
|
{ GLX(ARB_create_context), VER(0,0), N, },
|
||||||
{ GLX(ARB_create_context_profile), VER(0,0), N, },
|
{ GLX(ARB_create_context_profile), VER(0,0), N, },
|
||||||
{ GLX(ARB_create_context_robustness), VER(0,0), N, },
|
{ GLX(ARB_create_context_robustness), VER(0,0), N, },
|
||||||
|
{ GLX(ARB_fbconfig_float), VER(0,0), N, },
|
||||||
{ GLX(ARB_framebuffer_sRGB), VER(0,0), N, },
|
{ GLX(ARB_framebuffer_sRGB), VER(0,0), N, },
|
||||||
{ GLX(ARB_multisample), VER(1,4), Y, },
|
{ GLX(ARB_multisample), VER(1,4), Y, },
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ enum {
|
||||||
ARB_create_context_bit = 0,
|
ARB_create_context_bit = 0,
|
||||||
ARB_create_context_profile_bit,
|
ARB_create_context_profile_bit,
|
||||||
ARB_create_context_robustness_bit,
|
ARB_create_context_robustness_bit,
|
||||||
|
ARB_fbconfig_float_bit,
|
||||||
ARB_framebuffer_sRGB_bit,
|
ARB_framebuffer_sRGB_bit,
|
||||||
ARB_multisample_bit,
|
ARB_multisample_bit,
|
||||||
EXT_create_context_es2_profile_bit,
|
EXT_create_context_es2_profile_bit,
|
||||||
|
|
|
@ -845,6 +845,11 @@ glxDRILeaveVT(ScrnInfoPtr scrn)
|
||||||
scrn->LeaveVT = glxDRILeaveVT;
|
scrn->LeaveVT = glxDRILeaveVT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize extension flags in glx_enable_bits when a new screen is created
|
||||||
|
*
|
||||||
|
* @param screen The screen where glx_enable_bits are to be set.
|
||||||
|
*/
|
||||||
static void
|
static void
|
||||||
initializeExtensions(__GLXDRIscreen * screen)
|
initializeExtensions(__GLXDRIscreen * screen)
|
||||||
{
|
{
|
||||||
|
@ -889,6 +894,12 @@ initializeExtensions(__GLXDRIscreen * screen)
|
||||||
LogMessage(X_INFO, "AIGLX: enabled GLX_EXT_framebuffer_sRGB\n");
|
LogMessage(X_INFO, "AIGLX: enabled GLX_EXT_framebuffer_sRGB\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* enable ARB_fbconfig_float extension (even if there are no float fbconfigs) */
|
||||||
|
{
|
||||||
|
__glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_fbconfig_float");
|
||||||
|
LogMessage(X_INFO, "AIGLX: enabled GLX_ARB_fbconfig_float\n");
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; extensions[i]; i++) {
|
for (i = 0; extensions[i]; i++) {
|
||||||
#ifdef __DRI_READ_DRAWABLE
|
#ifdef __DRI_READ_DRAWABLE
|
||||||
if (strcmp(extensions[i]->name, __DRI_READ_DRAWABLE) == 0) {
|
if (strcmp(extensions[i]->name, __DRI_READ_DRAWABLE) == 0) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user