dri: Add param driCreateConfigs(mutable_render_buffer)
If set, then the config will have __DRI_ATTRIB_MUTABLE_RENDER_BUFFER, which translates to EGL_MUTABLE_RENDER_BUFFER_BIT_KHR. Not used yet. Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
parent
bbe2d50b58
commit
5c6d6eedb3
|
@ -274,7 +274,7 @@ dri_fill_in_modes(struct dri_screen *screen)
|
||||||
depth_buffer_factor, back_buffer_modes,
|
depth_buffer_factor, back_buffer_modes,
|
||||||
ARRAY_SIZE(back_buffer_modes),
|
ARRAY_SIZE(back_buffer_modes),
|
||||||
msaa_modes, 1,
|
msaa_modes, 1,
|
||||||
GL_TRUE, !mixed_color_depth);
|
GL_TRUE, !mixed_color_depth, GL_FALSE);
|
||||||
configs = driConcatConfigs(configs, new_configs);
|
configs = driConcatConfigs(configs, new_configs);
|
||||||
|
|
||||||
/* Multi-sample configs without an accumulation buffer. */
|
/* Multi-sample configs without an accumulation buffer. */
|
||||||
|
@ -284,7 +284,7 @@ dri_fill_in_modes(struct dri_screen *screen)
|
||||||
depth_buffer_factor, back_buffer_modes,
|
depth_buffer_factor, back_buffer_modes,
|
||||||
ARRAY_SIZE(back_buffer_modes),
|
ARRAY_SIZE(back_buffer_modes),
|
||||||
msaa_modes+1, num_msaa_modes-1,
|
msaa_modes+1, num_msaa_modes-1,
|
||||||
GL_FALSE, !mixed_color_depth);
|
GL_FALSE, !mixed_color_depth, GL_FALSE);
|
||||||
configs = driConcatConfigs(configs, new_configs);
|
configs = driConcatConfigs(configs, new_configs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,6 +147,9 @@ driGetRendererString( char * buffer, const char * hardware_name,
|
||||||
* \param color_depth_match Whether the color depth must match the zs depth
|
* \param color_depth_match Whether the color depth must match the zs depth
|
||||||
* This forces 32-bit color to have 24-bit depth, and
|
* This forces 32-bit color to have 24-bit depth, and
|
||||||
* 16-bit color to have 16-bit depth.
|
* 16-bit color to have 16-bit depth.
|
||||||
|
* \param mutable_render_buffer Enable __DRI_ATTRIB_MUTABLE_RENDER_BUFFER,
|
||||||
|
* which translates to
|
||||||
|
* EGL_MUTABLE_RENDER_BUFFER_BIT_KHR.
|
||||||
*
|
*
|
||||||
* \returns
|
* \returns
|
||||||
* Pointer to any array of pointers to the \c __DRIconfig structures created
|
* Pointer to any array of pointers to the \c __DRIconfig structures created
|
||||||
|
@ -160,7 +163,8 @@ driCreateConfigs(mesa_format format,
|
||||||
unsigned num_depth_stencil_bits,
|
unsigned num_depth_stencil_bits,
|
||||||
const GLenum * db_modes, unsigned num_db_modes,
|
const GLenum * db_modes, unsigned num_db_modes,
|
||||||
const uint8_t * msaa_samples, unsigned num_msaa_modes,
|
const uint8_t * msaa_samples, unsigned num_msaa_modes,
|
||||||
GLboolean enable_accum, GLboolean color_depth_match)
|
GLboolean enable_accum, GLboolean color_depth_match,
|
||||||
|
GLboolean mutable_render_buffer)
|
||||||
{
|
{
|
||||||
static const uint32_t masks_table[][4] = {
|
static const uint32_t masks_table[][4] = {
|
||||||
/* MESA_FORMAT_B5G6R5_UNORM */
|
/* MESA_FORMAT_B5G6R5_UNORM */
|
||||||
|
@ -325,6 +329,7 @@ driCreateConfigs(mesa_format format,
|
||||||
|
|
||||||
modes->yInverted = GL_TRUE;
|
modes->yInverted = GL_TRUE;
|
||||||
modes->sRGBCapable = is_srgb;
|
modes->sRGBCapable = is_srgb;
|
||||||
|
modes->mutableRenderBuffer = mutable_render_buffer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,8 @@ driCreateConfigs(mesa_format format,
|
||||||
unsigned num_depth_stencil_bits,
|
unsigned num_depth_stencil_bits,
|
||||||
const GLenum * db_modes, unsigned num_db_modes,
|
const GLenum * db_modes, unsigned num_db_modes,
|
||||||
const uint8_t * msaa_samples, unsigned num_msaa_modes,
|
const uint8_t * msaa_samples, unsigned num_msaa_modes,
|
||||||
GLboolean enable_accum, GLboolean color_depth_match);
|
GLboolean enable_accum, GLboolean color_depth_match,
|
||||||
|
GLboolean mutable_render_buffer);
|
||||||
|
|
||||||
__DRIconfig **driConcatConfigs(__DRIconfig **a,
|
__DRIconfig **driConcatConfigs(__DRIconfig **a,
|
||||||
__DRIconfig **b);
|
__DRIconfig **b);
|
||||||
|
|
|
@ -1094,7 +1094,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
|
||||||
num_depth_stencil_bits,
|
num_depth_stencil_bits,
|
||||||
back_buffer_modes, 2,
|
back_buffer_modes, 2,
|
||||||
singlesample_samples, 1,
|
singlesample_samples, 1,
|
||||||
false, false);
|
false, false, false);
|
||||||
configs = driConcatConfigs(configs, new_configs);
|
configs = driConcatConfigs(configs, new_configs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1116,7 +1116,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
|
||||||
depth_bits, stencil_bits, 1,
|
depth_bits, stencil_bits, 1,
|
||||||
back_buffer_modes, 1,
|
back_buffer_modes, 1,
|
||||||
singlesample_samples, 1,
|
singlesample_samples, 1,
|
||||||
true, false);
|
true, false, false);
|
||||||
configs = driConcatConfigs(configs, new_configs);
|
configs = driConcatConfigs(configs, new_configs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2195,7 +2195,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
|
||||||
num_depth_stencil_bits,
|
num_depth_stencil_bits,
|
||||||
back_buffer_modes, 2,
|
back_buffer_modes, 2,
|
||||||
singlesample_samples, 1,
|
singlesample_samples, 1,
|
||||||
false, false);
|
false, false, false);
|
||||||
configs = driConcatConfigs(configs, new_configs);
|
configs = driConcatConfigs(configs, new_configs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2222,7 +2222,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
|
||||||
depth_bits, stencil_bits, 1,
|
depth_bits, stencil_bits, 1,
|
||||||
back_buffer_modes, 1,
|
back_buffer_modes, 1,
|
||||||
singlesample_samples, 1,
|
singlesample_samples, 1,
|
||||||
true, false);
|
true, false, false);
|
||||||
configs = driConcatConfigs(configs, new_configs);
|
configs = driConcatConfigs(configs, new_configs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2289,7 +2289,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
|
||||||
back_buffer_modes, 1,
|
back_buffer_modes, 1,
|
||||||
multisample_samples,
|
multisample_samples,
|
||||||
num_msaa_modes,
|
num_msaa_modes,
|
||||||
false, false);
|
false, false, false);
|
||||||
configs = driConcatConfigs(configs, new_configs);
|
configs = driConcatConfigs(configs, new_configs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ nouveau_get_configs(uint32_t chipset)
|
||||||
ARRAY_SIZE(back_buffer_modes),
|
ARRAY_SIZE(back_buffer_modes),
|
||||||
msaa_samples,
|
msaa_samples,
|
||||||
ARRAY_SIZE(msaa_samples),
|
ARRAY_SIZE(msaa_samples),
|
||||||
GL_TRUE, chipset < 0x10);
|
GL_TRUE, chipset < 0x10, GL_FALSE);
|
||||||
assert(config);
|
assert(config);
|
||||||
|
|
||||||
configs = driConcatConfigs(configs, config);
|
configs = driConcatConfigs(configs, config);
|
||||||
|
|
|
@ -804,7 +804,7 @@ __DRIconfig **radeonInitScreen2(__DRIscreen *psp)
|
||||||
ARRAY_SIZE(back_buffer_modes),
|
ARRAY_SIZE(back_buffer_modes),
|
||||||
msaa_samples_array,
|
msaa_samples_array,
|
||||||
ARRAY_SIZE(msaa_samples_array),
|
ARRAY_SIZE(msaa_samples_array),
|
||||||
GL_TRUE, GL_FALSE);
|
GL_TRUE, GL_FALSE, GL_FALSE);
|
||||||
configs = driConcatConfigs(configs, new_configs);
|
configs = driConcatConfigs(configs, new_configs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -272,7 +272,7 @@ swrastFillInModes(__DRIscreen *psp,
|
||||||
depth_bits_array, stencil_bits_array,
|
depth_bits_array, stencil_bits_array,
|
||||||
depth_buffer_factor, back_buffer_modes,
|
depth_buffer_factor, back_buffer_modes,
|
||||||
back_buffer_factor, msaa_samples_array, 1,
|
back_buffer_factor, msaa_samples_array, 1,
|
||||||
GL_TRUE, GL_FALSE);
|
GL_TRUE, GL_FALSE, GL_FALSE);
|
||||||
if (configs == NULL) {
|
if (configs == NULL) {
|
||||||
fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__,
|
fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__,
|
||||||
__LINE__);
|
__LINE__);
|
||||||
|
|
Loading…
Reference in New Issue