anv: add a drirc to disable border colors without format

Disable it by default on Android.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33194>
This commit is contained in:
Lionel Landwerlin 2025-01-24 10:54:00 +02:00 committed by Marge Bot
parent c2c3f19e88
commit 7fab8675a6
4 changed files with 11 additions and 1 deletions

View file

@ -53,6 +53,7 @@ static const driOptionDescription anv_dri_options[] = {
DRI_CONF_ANV_MESH_CONV_PRIM_ATTRS_TO_VERT_ATTRS(-2)
DRI_CONF_FORCE_VK_VENDOR()
DRI_CONF_FAKE_SPARSE(false)
DRI_CONF_CUSTOM_BORDER_COLORS_WITHOUT_FORMAT(!DETECT_OS_ANDROID)
#if DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 34
DRI_CONF_VK_REQUIRE_ASTC(true)
#else
@ -182,6 +183,9 @@ anv_init_dri_options(struct anv_instance *instance)
instance->anv_upper_bound_descriptor_pool_sampler =
driQueryOptionb(&instance->dri_options,
"anv_upper_bound_descriptor_pool_sampler");
instance->custom_border_colors_without_format =
driQueryOptionb(&instance->dri_options,
"custom_border_colors_without_format");
instance->stack_ids = driQueryOptioni(&instance->dri_options, "intel_stack_id");
switch (instance->stack_ids) {

View file

@ -567,7 +567,8 @@ get_features(const struct anv_physical_device *pdevice,
/* VK_EXT_custom_border_color */
.customBorderColors = true,
.customBorderColorWithoutFormat = true,
.customBorderColorWithoutFormat =
pdevice->instance->custom_border_colors_without_format,
/* VK_EXT_depth_clamp_zero_one */
.depthClampZeroOne = true,

View file

@ -1311,6 +1311,7 @@ struct anv_instance {
bool compression_control_enabled;
bool anv_fake_nonlocal_memory;
bool anv_upper_bound_descriptor_pool_sampler;
bool custom_border_colors_without_format;
/* HW workarounds */
bool no_16bit;

View file

@ -492,6 +492,10 @@
DRI_CONF_OPT_B(allow_multisampled_copyteximage, def, \
"Allow CopyTexSubImage and other to copy sampled framebuffer")
#define DRI_CONF_CUSTOM_BORDER_COLORS_WITHOUT_FORMAT(def) \
DRI_CONF_OPT_B(custom_border_colors_without_format, def, \
"Enable custom border colors without format")
#define DRI_CONF_NO_FP16(def) \
DRI_CONF_OPT_B(no_fp16, def, \
"Disable 16-bit float support")