Revert "st/mesa: expose 0 shader binary formats for compat profiles for Qt"

This reverts commit 55376cb31e.

It's been over a year and both QT 5.9.5 and 5.11.0 contained a fix for the
original issue. It seems i965 only ever applied this workaround to the
18.0 branch.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 11e16ca7ce)
This commit is contained in:
Timothy Arceri 2019-05-27 20:07:41 +10:00 committed by Dylan Baker
parent 970770c5bd
commit a7e8255c9b
4 changed files with 6 additions and 14 deletions

View file

@ -479,7 +479,7 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe,
PIPE_CAP_MAX_TEXTURE_UPLOAD_MEMORY_BUDGET));
/* GL limits and extensions */
st_init_limits(pipe->screen, &ctx->Const, &ctx->Extensions, ctx->API);
st_init_limits(pipe->screen, &ctx->Const, &ctx->Extensions);
st_init_extensions(pipe->screen, &ctx->Const,
&ctx->Extensions, &st->options, ctx->API);

View file

@ -76,8 +76,7 @@ static int _clamp(int a, int min, int max)
* Note that we have to limit/clamp against Mesa's internal limits too.
*/
void st_init_limits(struct pipe_screen *screen,
struct gl_constants *c, struct gl_extensions *extensions,
gl_api api)
struct gl_constants *c, struct gl_extensions *extensions)
{
int supported_irs;
unsigned sh;
@ -440,14 +439,8 @@ void st_init_limits(struct pipe_screen *screen,
c->GLSLFrontFacingIsSysVal =
screen->get_param(screen, PIPE_CAP_TGSI_FS_FACE_IS_INTEGER_SYSVAL);
/* GL_ARB_get_program_binary
*
* The QT framework has a bug in their shader program cache, which is built
* on GL_ARB_get_program_binary. In an effort to allow them to fix the bug
* we don't enable more than 1 binary format for compatibility profiles.
*/
if (api != API_OPENGL_COMPAT &&
screen->get_disk_shader_cache && screen->get_disk_shader_cache(screen))
/* GL_ARB_get_program_binary */
if (screen->get_disk_shader_cache && screen->get_disk_shader_cache(screen))
c->NumProgramBinaryFormats = 1;
c->MaxAtomicBufferBindings =

View file

@ -35,8 +35,7 @@ struct pipe_screen;
extern void st_init_limits(struct pipe_screen *screen,
struct gl_constants *c,
struct gl_extensions *extensions,
gl_api api);
struct gl_extensions *extensions);
extern void st_init_extensions(struct pipe_screen *screen,
struct gl_constants *consts,

View file

@ -1259,7 +1259,7 @@ get_version(struct pipe_screen *screen,
_mesa_init_constants(&consts, api);
_mesa_init_extensions(&extensions);
st_init_limits(screen, &consts, &extensions, api);
st_init_limits(screen, &consts, &extensions);
st_init_extensions(screen, &consts, &extensions, options, api);
return _mesa_get_version(&extensions, &consts, api);