Message ID | 20170326162853.3022-1-romain.naour@gmail.com |
---|---|
State | Accepted |
Headers | show |
Am Sun, 26 Mar 2017 18:28:49 +0200 schrieb Romain Naour: > OpenGL version string: 2.1 Mesa 17.0.2 > It turn out that texture float support was missing... > OpenGL version string: 3.0 Mesa 17.0.2 [...] > +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT),y) > +MESA3D_CONF_OPTS += --enable-texture-float > +MESA3D_LICENSE_FILES += docs/patents.txt > +else > +MESA3D_CONF_OPTS += --disable-texture-float > +endif Hi, wondering why Kodi already prints NOTICE: GL_VERSION = 3.0 Mesa 17.0.2 during startup on my system without your patch and BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y I investigated its changes and compiled this defconfig (snipped non-mesa3d options): BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y BR2_PACKAGE_MESA3D_DRI_DRIVER_I915=y BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU=y BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON=y BR2_PACKAGE_MESA3D_OSMESA=y BR2_PACKAGE_MESA3D_OPENGL_ES=y BR2_PACKAGE_XORG7=y with BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT=y and without your patch. The directory output/target/usr/lib/dri/ contains these files, I added a note when the filesize changed due to --enable-texture-float: i915_dri.so i965_dri.so kms_swrast_dri.so (changed) nouveau_dri.so (changed, same as kms_swrast_dri.so) nouveau_vieux_dri.so r600_dri.so (changed, same as kms_swrast_dri.so) radeon_dri.so swrast_dri.so (changed, same as kms_swrast_dri.so) virtio_gpu_dri.so (changed, same as kms_swrast_dri.so) vmwgfx_dri.so (changed, same as kms_swrast_dri.so) libGL.so/libEGL.so/libGLES*.so stayed unchanged. Afaics the reason why the Intel drivers are unaffected could be this line of code where texture float support is always enabled: https://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/drivers/dri/i965/ intel_extensions.c?h=17.0#n83 Other parts of the mesa3d contain #ifdef, like this: https://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/main/extensions.c? h=17.0#n134 I am not familiar with the internal structures of mesa3d beyond my observations, maybe you should add a note to Config.in that your configure option does not affect all drivers. Regards, Bernd
Hi Bernd, All Le 28/03/2017 à 19:49, Bernd Kuhls a écrit : > Am Sun, 26 Mar 2017 18:28:49 +0200 schrieb Romain Naour: > >> OpenGL version string: 2.1 Mesa 17.0.2 >> It turn out that texture float support was missing... >> OpenGL version string: 3.0 Mesa 17.0.2 > [...] >> +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT),y) >> +MESA3D_CONF_OPTS += --enable-texture-float >> +MESA3D_LICENSE_FILES += docs/patents.txt >> +else >> +MESA3D_CONF_OPTS += --disable-texture-float >> +endif > > Hi, > > wondering why Kodi already prints > > NOTICE: GL_VERSION = 3.0 Mesa 17.0.2 > > during startup on my system without your patch and > BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y I investigated its changes and > compiled this defconfig (snipped non-mesa3d options): > > BR2_PACKAGE_MESA3D=y > BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU=y > BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600=y > BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA=y > BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y > BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y > BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y > BR2_PACKAGE_MESA3D_DRI_DRIVER_I915=y > BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y > BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU=y > BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON=y > BR2_PACKAGE_MESA3D_OSMESA=y > BR2_PACKAGE_MESA3D_OPENGL_ES=y > BR2_PACKAGE_XORG7=y > > with > BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT=y > > and without your patch. > > The directory output/target/usr/lib/dri/ contains these files, I added a > note when the filesize changed due to --enable-texture-float: > > i915_dri.so > i965_dri.so > kms_swrast_dri.so (changed) > nouveau_dri.so (changed, same as kms_swrast_dri.so) > nouveau_vieux_dri.so > r600_dri.so (changed, same as kms_swrast_dri.so) > radeon_dri.so > swrast_dri.so (changed, same as kms_swrast_dri.so) > virtio_gpu_dri.so (changed, same as kms_swrast_dri.so) > vmwgfx_dri.so (changed, same as kms_swrast_dri.so) Good catch :) > > libGL.so/libEGL.so/libGLES*.so stayed unchanged. > > Afaics the reason why the Intel drivers are unaffected could be this line > of code where texture float support is always enabled: > > https://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/drivers/dri/i965/ > intel_extensions.c?h=17.0#n83 > > Other parts of the mesa3d contain #ifdef, like this: > https://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/main/extensions.c? > h=17.0#n134 Indeed, I saw the ifdef TEXTURE_FLOAT_ENABLED in mesa/main/extensions.c while checking what --enable-texture-float was doing, but I didn't noticed that it was always enabled for Intel devices... It's seems a bug in mesa/drivers/dri/i965/intel_extensions.c which is not affected by this option... > > I am not familiar with the internal structures of mesa3d beyond my > observations, maybe you should add a note to Config.in that your > configure option does not affect all drivers. Me too, I spent several hours searching why OpenGL was in compat mode with the system produced by Buildroot... I tested the same target with Fedora and noticed that OpenGL 3.3 was enabled. Ok, I'll add a note about this. Do you have any comment on the following patches of this series ? Best regards, Romain > > Regards, Bernd > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot >
Am Tue, 28 Mar 2017 22:38:48 +0200 schrieb Romain Naour:
> Do you have any comment on the following patches of this series ?
Hi,
no, because I am neither using a gallium driver nor libvdpau I can not
run-time test the changes.
For the asm patch I sent another comment.
Regards, Bernd
Hi Bernd, All, Le 29/03/2017 à 06:41, Bernd Kuhls a écrit : > Am Tue, 28 Mar 2017 22:38:48 +0200 schrieb Romain Naour: > >> Do you have any comment on the following patches of this series ? > > Hi, > > no, because I am neither using a gallium driver nor libvdpau I can not > run-time test the changes. Since you're the mesa3d developer in Buildroot, I believe a review from you would be enough to help maintainers to merge these patches. I'm not asking you to do a runtime test ;-) > > For the asm patch I sent another comment. Thanks! Best regards, Romain > > Regards, Bernd > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot >
Hello, On Sun, 26 Mar 2017 18:28:49 +0200, Romain Naour wrote: > While testing on a PC target with an HD6310 graphic card, the > OpenGL support was in "compat profile" mode (i.e OpenGL 2.1). > > Extended renderer info (GLX_MESA_query_renderer): > Vendor: X.Org (0x1002) > Device: AMD PALM (DRM 2.49.0 / 4.10.4) (0x9802) > Version: 17.0.2 > Accelerated: yes > Video memory: 256MB > Unified memory: no > Preferred profile: compat (0x2) > Max core profile version: 0.0 > Max compat profile version: 2.1 > Max GLES1 profile version: 1.1 > Max GLES[23] profile version: 2.0 > OpenGL vendor string: X.Org > OpenGL renderer string: Gallium 0.4 on AMD PALM (DRM 2.49.0 / 4.10.4) > OpenGL version string: 2.1 Mesa 17.0.2 > OpenGL shading language version string: 1.30 > > OpenGL ES profile version string: OpenGL ES 2.0 Mesa 17.0.2 > OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16 > > It turn out that texture float support was missing... > > Extended renderer info (GLX_MESA_query_renderer): > Vendor: X.Org (0x1002) > Device: AMD PALM (DRM 2.49.0 / 4.10.4) (0x9802) > Version: 17.0.2 > Accelerated: yes > Video memory: 256MB > Unified memory: no > Preferred profile: core (0x1) > Max core profile version: 3.3 > Max compat profile version: 3.0 > Max GLES1 profile version: 1.1 > Max GLES[23] profile version: 3.0 > OpenGL vendor string: X.Org > OpenGL renderer string: Gallium 0.4 on AMD PALM (DRM 2.49.0 / 4.10.4) > OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.0.2 > OpenGL core profile shading language version string: 3.30 > OpenGL core profile context flags: (none) > OpenGL core profile profile mask: core profile > > OpenGL version string: 3.0 Mesa 17.0.2 > OpenGL shading language version string: 1.30 > OpenGL context flags: (none) > > Add a new option to let the user disable this feature if > it doesn't comply to the SGI license. > Add docs/patents.txt to MESA3D_LICENSE_FILES > > Signed-off-by: Romain Naour <romain.naour@gmail.com> > Cc: Bernd Kuhls <bernd.kuhls@t-online.de> > --- > NOTE: --enable-texture-float is always enabled in the masa package > in Fedora: > http://pkgs.fedoraproject.org/cgit/rpms/mesa.git/tree/mesa.spec?h=f25#n418 > --- > package/mesa3d/Config.in | 18 ++++++++++++++++++ > package/mesa3d/mesa3d.mk | 7 +++++++ > 2 files changed, 25 insertions(+) Applied to master, after: - Rewrapping the Config.in help text - Adding a note that the option doesn't affect all drivers, as per the discussion with Bernd. Thanks! Thomas
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index 2b085ab..b743df3 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -194,6 +194,24 @@ config BR2_PACKAGE_MESA3D_OPENGL_ES Use the Khronos OpenGL ES APIs. This is commonly used on embedded systems and represents a subset of the OpenGL API. +config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT + bool "OpenGL texture float (patented format)" + help + GL_ARB_texture_float is required to enable GLX core profile + (OpenGL3.x) otherwise the compat profile is used (OpenGL2.1). + + The source code to implement ARB_texture_float extension is + included and can be toggled on at compile time, for those who + purchased a license from SGI, or are in a country where the + patent does not apply, etc. + + Please consult docs/patents.txt with your lawyer before + building Mesa. + + If unsure, say N. + + http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327 + endif # BR2_PACKAGE_MESA3D_DRIVER config BR2_PACKAGE_PROVIDES_LIBGL diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 07f43bb..57e83ca 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -183,6 +183,13 @@ else MESA3D_CONF_OPTS += --disable-gles1 --disable-gles2 endif +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT),y) +MESA3D_CONF_OPTS += --enable-texture-float +MESA3D_LICENSE_FILES += docs/patents.txt +else +MESA3D_CONF_OPTS += --disable-texture-float +endif + ifeq ($(BR2_PACKAGE_LM_SENSORS),y) MESA3D_CONF_OPTS += --enable-lmsensors MESA3D_DEPENDENCIES += lm-sensors
While testing on a PC target with an HD6310 graphic card, the OpenGL support was in "compat profile" mode (i.e OpenGL 2.1). Extended renderer info (GLX_MESA_query_renderer): Vendor: X.Org (0x1002) Device: AMD PALM (DRM 2.49.0 / 4.10.4) (0x9802) Version: 17.0.2 Accelerated: yes Video memory: 256MB Unified memory: no Preferred profile: compat (0x2) Max core profile version: 0.0 Max compat profile version: 2.1 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 2.0 OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD PALM (DRM 2.49.0 / 4.10.4) OpenGL version string: 2.1 Mesa 17.0.2 OpenGL shading language version string: 1.30 OpenGL ES profile version string: OpenGL ES 2.0 Mesa 17.0.2 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16 It turn out that texture float support was missing... Extended renderer info (GLX_MESA_query_renderer): Vendor: X.Org (0x1002) Device: AMD PALM (DRM 2.49.0 / 4.10.4) (0x9802) Version: 17.0.2 Accelerated: yes Video memory: 256MB Unified memory: no Preferred profile: core (0x1) Max core profile version: 3.3 Max compat profile version: 3.0 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.0 OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD PALM (DRM 2.49.0 / 4.10.4) OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.0.2 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL version string: 3.0 Mesa 17.0.2 OpenGL shading language version string: 1.30 OpenGL context flags: (none) Add a new option to let the user disable this feature if it doesn't comply to the SGI license. Add docs/patents.txt to MESA3D_LICENSE_FILES Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Bernd Kuhls <bernd.kuhls@t-online.de> --- NOTE: --enable-texture-float is always enabled in the masa package in Fedora: http://pkgs.fedoraproject.org/cgit/rpms/mesa.git/tree/mesa.spec?h=f25#n418 --- package/mesa3d/Config.in | 18 ++++++++++++++++++ package/mesa3d/mesa3d.mk | 7 +++++++ 2 files changed, 25 insertions(+)