Based on the current return value of glGetString(GL_VERSION) Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> --- src/gallium/drivers/freedreno/freedreno_screen.c | 11 ++++++++++- src/gallium/drivers/i915/i915_screen.c | 9 +++++++++ src/gallium/drivers/ilo/ilo_screen.c | 9 +++++++++ src/gallium/drivers/llvmpipe/lp_screen.c | 9 +++++++++ src/gallium/drivers/nouveau/nv30/nv30_screen.c | 10 ++++++++++ src/gallium/drivers/nouveau/nv50/nv50_screen.c | 10 ++++++++++ src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 10 ++++++++++ src/gallium/drivers/r300/r300_screen.c | 9 +++++++++ src/gallium/drivers/r600/r600_pipe.c | 9 +++++++++ src/gallium/drivers/radeonsi/si_pipe.c | 9 +++++++++ src/gallium/drivers/softpipe/sp_screen.c | 9 +++++++++ src/gallium/drivers/svga/svga_screen.c | 9 +++++++++ 12 files changed, 112 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index e1b5dae..68f7f13 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -244,9 +244,18 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_ENDIANNESS: return PIPE_ENDIAN_LITTLE; - case PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT: + case PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT: return 64; + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 0; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 14; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 20; + default: DBG("unknown param %d", param); return 0; diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index 9f08f86..1f55a06 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -272,6 +272,15 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap cap) case PIPE_CAP_ENDIANNESS: return PIPE_ENDIAN_LITTLE; + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 0; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 21; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 20; + default: debug_printf("%s: Unknown cap %u.\n", __FUNCTION__, cap); return 0; diff --git a/src/gallium/drivers/ilo/ilo_screen.c b/src/gallium/drivers/ilo/ilo_screen.c index 9c363ac..4b595a6 100644 --- a/src/gallium/drivers/ilo/ilo_screen.c +++ b/src/gallium/drivers/ilo/ilo_screen.c @@ -435,6 +435,15 @@ ilo_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_TGSI_VS_LAYER: return 0; + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 0; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 21; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 20; + default: return 0; } diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 43142e7..604f853 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -236,6 +236,15 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return PIPE_ENDIAN_NATIVE; case PIPE_CAP_TGSI_VS_LAYER: return 0; + + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 0; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 21; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 20; } /* should only get here on unhandled cases */ debug_printf("Unexpected PIPE_CAP %d query\n", param); diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c index 9854708..abbc3b6 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c @@ -136,6 +136,16 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 1; case PIPE_CAP_ENDIANNESS: return PIPE_ENDIAN_LITTLE; + + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 0; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return (eng3d->oclass >= NV40_3D_CLASS) ? 21 : 15; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 20; + default: debug_printf("unknown param %d\n", param); return 0; diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c index 781b391..5090b7f 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c @@ -199,6 +199,16 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 0; case PIPE_CAP_MAX_VIEWPORTS: return NV50_MAX_VIEWPORTS; + + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 33; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 30; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 30; + default: NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); return 0; diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c index f04771d..b96dced 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c @@ -177,6 +177,16 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 0; case PIPE_CAP_MAX_VIEWPORTS: return 1; + + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 33; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 30; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 30; + default: NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); return 0; diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index fcb01e8..6be922e 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -196,6 +196,15 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_MAX_VIEWPORTS: return 1; + + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 0; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 21; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 20; } return 0; } diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 0f75a53..02914b9 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -453,6 +453,15 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) return PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_R600; case PIPE_CAP_ENDIANNESS: return PIPE_ENDIAN_LITTLE; + + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 33; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 30; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 30; } return 0; } diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index c64621b..4e6478c 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -332,6 +332,15 @@ static int si_get_param(struct pipe_screen* pscreen, enum pipe_cap param) return 7; case PIPE_CAP_ENDIANNESS: return PIPE_ENDIAN_LITTLE; + + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 33; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 30; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 30; } return 0; } diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index 46ac519..3a6d31a 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -186,6 +186,15 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return PIPE_ENDIAN_NATIVE; case PIPE_CAP_TGSI_VS_LAYER: return 0; + + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 0; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 21; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 20; } /* should only get here on unhandled cases */ debug_printf("Unexpected PIPE_CAP %d query\n", param); diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index d5ae69a..b20aa26 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -275,6 +275,15 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_ENDIANNESS: return PIPE_ENDIAN_LITTLE; + + case PIPE_CAP_MAX_GL_CORE_VERSION: + return 0; + case PIPE_CAP_MAX_GL_COMPAT_VERSION: + return 21; + case PIPE_CAP_MAX_GL_ES1_VERSION: + return 11; + case PIPE_CAP_MAX_GL_ES2_VERSION: + return 20; } debug_printf("Unexpected PIPE_CAP_ query %u\n", param); -- 1.9.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev