mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-21 13:40:16 +01:00
mesa/gallium: add dric option to allow overriding GL vendor string
Will be used in the following patch. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93551
This commit is contained in:
parent
c95e2a1c6b
commit
dca119f12c
7 changed files with 22 additions and 0 deletions
|
|
@ -31,6 +31,7 @@ DRI_CONF_SECTION_DEBUG
|
||||||
DRI_CONF_GLSL_CORRECT_DERIVATIVES_AFTER_DISCARD("false")
|
DRI_CONF_GLSL_CORRECT_DERIVATIVES_AFTER_DISCARD("false")
|
||||||
DRI_CONF_ALLOW_GLSL_LAYOUT_QUALIFIER_ON_FUNCTION_PARAMETERS("false")
|
DRI_CONF_ALLOW_GLSL_LAYOUT_QUALIFIER_ON_FUNCTION_PARAMETERS("false")
|
||||||
DRI_CONF_FORCE_COMPAT_PROFILE("false")
|
DRI_CONF_FORCE_COMPAT_PROFILE("false")
|
||||||
|
DRI_CONF_FORCE_GL_VENDOR()
|
||||||
DRI_CONF_SECTION_END
|
DRI_CONF_SECTION_END
|
||||||
|
|
||||||
DRI_CONF_SECTION_MISCELLANEOUS
|
DRI_CONF_SECTION_MISCELLANEOUS
|
||||||
|
|
|
||||||
|
|
@ -230,6 +230,7 @@ struct st_config_options
|
||||||
bool force_glsl_abs_sqrt;
|
bool force_glsl_abs_sqrt;
|
||||||
bool allow_glsl_cross_stage_interpolation_mismatch;
|
bool allow_glsl_cross_stage_interpolation_mismatch;
|
||||||
bool allow_glsl_layout_qualifier_on_function_parameters;
|
bool allow_glsl_layout_qualifier_on_function_parameters;
|
||||||
|
char *force_gl_vendor;
|
||||||
unsigned char config_options_sha1[20];
|
unsigned char config_options_sha1[20];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,11 @@ dri_fill_st_options(struct dri_screen *screen)
|
||||||
options->allow_glsl_layout_qualifier_on_function_parameters =
|
options->allow_glsl_layout_qualifier_on_function_parameters =
|
||||||
driQueryOptionb(optionCache, "allow_glsl_layout_qualifier_on_function_parameters");
|
driQueryOptionb(optionCache, "allow_glsl_layout_qualifier_on_function_parameters");
|
||||||
|
|
||||||
|
char *vendor_str = driQueryOptionstr(optionCache, "force_gl_vendor");
|
||||||
|
/* not an empty string */
|
||||||
|
if (*vendor_str)
|
||||||
|
options->force_gl_vendor = strdup(vendor_str);
|
||||||
|
|
||||||
driComputeOptionsSha1(optionCache, options->config_options_sha1);
|
driComputeOptionsSha1(optionCache, options->config_options_sha1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -481,6 +486,8 @@ dri_destroy_screen(__DRIscreen * sPriv)
|
||||||
|
|
||||||
pipe_loader_release(&screen->dev, 1);
|
pipe_loader_release(&screen->dev, 1);
|
||||||
|
|
||||||
|
free(screen->options.force_gl_vendor);
|
||||||
|
|
||||||
/* The caller in dri_util preserves the fd ownership */
|
/* The caller in dri_util preserves the fd ownership */
|
||||||
free(screen);
|
free(screen);
|
||||||
sPriv->driverPrivate = NULL;
|
sPriv->driverPrivate = NULL;
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,10 @@ _mesa_GetString( GLenum name )
|
||||||
|
|
||||||
ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, NULL);
|
ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, NULL);
|
||||||
|
|
||||||
|
if (ctx->Const.VendorOverride && name == GL_VENDOR) {
|
||||||
|
return (const GLubyte *) ctx->Const.VendorOverride;
|
||||||
|
}
|
||||||
|
|
||||||
/* this is a required driver function */
|
/* this is a required driver function */
|
||||||
assert(ctx->Driver.GetString);
|
assert(ctx->Driver.GetString);
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -4135,6 +4135,8 @@ struct gl_constants
|
||||||
|
|
||||||
/** GL_ARB_spirv_extensions */
|
/** GL_ARB_spirv_extensions */
|
||||||
struct spirv_supported_extensions *SpirVExtensions;
|
struct spirv_supported_extensions *SpirVExtensions;
|
||||||
|
|
||||||
|
char *VendorOverride;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1153,6 +1153,8 @@ void st_init_extensions(struct pipe_screen *screen,
|
||||||
|
|
||||||
consts->GLSLZeroInit = options->glsl_zero_init;
|
consts->GLSLZeroInit = options->glsl_zero_init;
|
||||||
|
|
||||||
|
consts->VendorOverride = options->force_gl_vendor;
|
||||||
|
|
||||||
consts->UniformBooleanTrue = consts->NativeIntegers ? ~0U : fui(1.0f);
|
consts->UniformBooleanTrue = consts->NativeIntegers ? ~0U : fui(1.0f);
|
||||||
|
|
||||||
/* Below are the cases which cannot be moved into tables easily. */
|
/* Below are the cases which cannot be moved into tables easily. */
|
||||||
|
|
|
||||||
|
|
@ -140,6 +140,11 @@ DRI_CONF_OPT_BEGIN_B(allow_glsl_layout_qualifier_on_function_parameters, def) \
|
||||||
DRI_CONF_DESC(en,gettext("Allow layout qualifiers on function parameters.")) \
|
DRI_CONF_DESC(en,gettext("Allow layout qualifiers on function parameters.")) \
|
||||||
DRI_CONF_OPT_END
|
DRI_CONF_OPT_END
|
||||||
|
|
||||||
|
#define DRI_CONF_FORCE_GL_VENDOR(def) \
|
||||||
|
DRI_CONF_OPT_BEGIN(force_gl_vendor, string, def) \
|
||||||
|
DRI_CONF_DESC(en,gettext("Allow GPU vendor to be overridden.")) \
|
||||||
|
DRI_CONF_OPT_END
|
||||||
|
|
||||||
#define DRI_CONF_FORCE_COMPAT_PROFILE(def) \
|
#define DRI_CONF_FORCE_COMPAT_PROFILE(def) \
|
||||||
DRI_CONF_OPT_BEGIN_B(force_compat_profile, def) \
|
DRI_CONF_OPT_BEGIN_B(force_compat_profile, def) \
|
||||||
DRI_CONF_DESC(en,gettext("Force an OpenGL compatibility context")) \
|
DRI_CONF_DESC(en,gettext("Force an OpenGL compatibility context")) \
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue