Re: [Mesa-dev] [PATCH] Revert "st/mesa: expose 0 shader binary formats for compat profiles for Qt"

2019-05-27 Thread Marek Olšák
Reviewed-by: Marek Olšák 

Marek

On Mon, May 27, 2019 at 6:07 AM Timothy Arceri 
wrote:

> This reverts commit 55376cb31e2f495a4d872b4ffce2135c3365b873.
>
> 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.
> ---
>  src/mesa/state_tracker/st_context.c|  2 +-
>  src/mesa/state_tracker/st_extensions.c | 13 +++--
>  src/mesa/state_tracker/st_extensions.h |  3 +--
>  src/mesa/state_tracker/st_manager.c|  2 +-
>  4 files changed, 6 insertions(+), 14 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_context.c
> b/src/mesa/state_tracker/st_context.c
> index 8f2acafbca3..875be9d0029 100644
> --- a/src/mesa/state_tracker/st_context.c
> +++ b/src/mesa/state_tracker/st_context.c
> @@ -645,7 +645,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);
>
> diff --git a/src/mesa/state_tracker/st_extensions.c
> b/src/mesa/state_tracker/st_extensions.c
> index 3d5b0fa5836..f930d3caff9 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -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;
> @@ -447,14 +446,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 =
> diff --git a/src/mesa/state_tracker/st_extensions.h
> b/src/mesa/state_tracker/st_extensions.h
> index fdfac7ece70..7bf1aa8c8cb 100644
> --- a/src/mesa/state_tracker/st_extensions.h
> +++ b/src/mesa/state_tracker/st_extensions.h
> @@ -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,
> diff --git a/src/mesa/state_tracker/st_manager.c
> b/src/mesa/state_tracker/st_manager.c
> index 35d41f0a2c1..ff0bec8f569 100644
> --- a/src/mesa/state_tracker/st_manager.c
> +++ b/src/mesa/state_tracker/st_manager.c
> @@ -1269,7 +1269,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);
> --
> 2.20.1
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH] Revert "st/mesa: expose 0 shader binary formats for compat profiles for Qt"

2019-05-27 Thread Timothy Arceri
This reverts commit 55376cb31e2f495a4d872b4ffce2135c3365b873.

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.
---
 src/mesa/state_tracker/st_context.c|  2 +-
 src/mesa/state_tracker/st_extensions.c | 13 +++--
 src/mesa/state_tracker/st_extensions.h |  3 +--
 src/mesa/state_tracker/st_manager.c|  2 +-
 4 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/src/mesa/state_tracker/st_context.c 
b/src/mesa/state_tracker/st_context.c
index 8f2acafbca3..875be9d0029 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -645,7 +645,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);
 
diff --git a/src/mesa/state_tracker/st_extensions.c 
b/src/mesa/state_tracker/st_extensions.c
index 3d5b0fa5836..f930d3caff9 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -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;
@@ -447,14 +446,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 =
diff --git a/src/mesa/state_tracker/st_extensions.h 
b/src/mesa/state_tracker/st_extensions.h
index fdfac7ece70..7bf1aa8c8cb 100644
--- a/src/mesa/state_tracker/st_extensions.h
+++ b/src/mesa/state_tracker/st_extensions.h
@@ -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,
diff --git a/src/mesa/state_tracker/st_manager.c 
b/src/mesa/state_tracker/st_manager.c
index 35d41f0a2c1..ff0bec8f569 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -1269,7 +1269,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);
-- 
2.20.1

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev