问题标签 [mesa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
589 浏览

c# - 不支持 OpenTK OpenGL GLSL 3.30

我正在尝试 在使用 monodevelop 的 lubuntu 14.04.1 笔记本电脑工作站上遵循本教程( http://neokabuto.blogspot.com/2013/03/opentk-tutorial-2-drawing-triangle.html )。执行程序时,我得到

GLSL 3.30 is not supported. Supported versions are 1.10, 1.20, 1.30, and 1.00 E

通过大量研究并在 ubuntu 论坛上提问,我最终发现我的笔记本电脑确实(似乎)包含 GLSL 3.30,如下所示:

glxinfo | grep version server glx version string: 1.4 client glx version string: 1.4 GLX version: 1.4 OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.6.0-devel (git-345e8cc 2015-02-08 trusty-oibaf-ppa) OpenGL core profile shading language version string: 3.30 OpenGL version string: 3.0 Mesa 10.6.0-devel (git-345e8cc 2015-02-08 trusty-oibaf-ppa) OpenGL shading language version string: 1.30 OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.6.0-devel (git-345e8cc 2015-02-08 trusty-oibaf-ppa) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

所以我比较茫然。我在这里先向您的帮助表示感谢。

0 投票
1 回答
5577 浏览

linux - 在 Linux 上构建 VTK 时出现错误“GLintptr has not been declared”

在 Linux 上构建 VTK 时,出现以下错误:

0 投票
0 回答
734 浏览

windows - 编译 Mesa3D windows 64bit


我是 opengl 和 mesa3D 库的新手 我在 windows 8.1 64 位机器上编译 mesa3d 库时遇到了一些问题。
我试图按照这篇文章为 windows 7 构建 Mesa。Mesa 9.1但我在尝试构建时没有成功此命令带有 scons 的库

我收到以下错误

即使给定路径中有一个 SConstruct 文件

0 投票
1 回答
540 浏览

opengl - GLSL 120 纹理间接问题

我在为项目编写片段着色器时遇到了一些问题。我正在创建一个无调色板终端仿真器,所以我想我会使用以下着色器来做到这一点:

为了将它渲染到屏幕上,我绘制了一个大四边形,然后让着色器完成其余的工作。

此代码生成所需的输出。但是,它以每帧5的速度执行此操作。根据我的研究,这可能是由于显示驱动程序在软件而不是硬件中执行我的着色器。我发现通过取消注释呼叫,事情再次顺利进行。texture2D()

这使我得到以下代码:

事实证明,这同样非常缓慢。注释掉最后一行 ,vec4 tiles = ...并从输出中删除它再次顺利运行。所以我查看了我的设备支持的 texture2D 调用的数量。我得到以下结果:

所以一定有什么事情发生了。即使我的每个调用都是间接访问(我很确​​定它们不是),我最多应该有 8 个!此外,glGetShaderInfoLog()glGetProgramInfoLog()无话可说。

我应该列出我的规格:

  • 机器:运行 Linux 3.17.1 的 Intel Atom Duo(特别是 Arch)
  • GPU:英特尔 945GM/GMS/GME,943/940GML 集成图形控制器 Mesa
  • 版本:10.4.5

是的,我在调用标准glewInit()程序后检查 GL_ARB_fragment_program。

所以,我有两种可能的解决方案。

  1. ARB_fragment_shader的规格表指出纹理间接的最小数量应该是 4。这可能是我的程序没有正确初始化 ARB_fragment_program,系统正在回退到默认值。(我尝试将“ARB”放在尽可能多的与着色器相关的地方,但我认为 glewInit() 无论如何都会处理这个问题。)
  2. Mesa 的编译器对我的特定芯片有一个错误。这里的最后一篇文章 提到了这一点,并且有一个类似的 GPU。基本上,编译器错误地将所有纹理读取标记为间接纹理读取,从而错误地拒绝程序。

如果有人在这方面有任何令人难以置信的知识,我真的很想听听。通常我会说“去他妈的,买一台更好的电脑”,但拥有高端显卡只是为了运行终端仿真器的纯粹讽刺是......好吧......讽刺。

如果我忘记在这里写一些信息,请告诉我。

编辑

glxinfo -l:粘贴

ARB 程序集(部分由 cgc 生成)

禁用任何 TEX 指令会将其置于硬件模式,所有 4 条指令都将返回到软件模式。

0 投票
1 回答
346 浏览

opengl - 面向英特尔 SandyBridge 硬件的 Mesa i965 DRI 中的几何着色器支持

我正在尝试从这里运行 Mesa 的 GS 演示代码:http: //cgit.freedesktop.org/mesa/demos/tree/src/gs,通过 git 克隆这个: http ://cgit.freedesktop.org/mesa /演示

但是,我收到错误为“需要 GL_ARB_geometry_shader4 扩展”。

我不太了解 Mesa 的开发进展情况,但似乎 GL_ARB_geometry_shader4 扩展不适用于 Mesa?

根据此链接: http: //lists.freedesktop.org/archives/mesa-dev/2014-August/065692.html,它显示几何着色器支持已添加到英特尔 SandyBridge 平台。

我还看到了这个链接: http : //dri.freedesktop.org/wiki/MissingFunctionality/,这表明 GL_ARB_geometry_shader4 扩展是一个“缺失的功能”。

考虑到所有这些,我应该如何继续使用 Mesa 使用几何着色器编写我的应用程序?

0 投票
1 回答
496 浏览

linux - 不带 X 的 Tegra Mesa GLES

我正在尝试设置基于 Tegra 3 (Toradex Apalis T30) 的系统,该系统将在触摸屏上具有基于 OpenGL ES 的用户界面。不幸的是,标准的 Linux4Tegra 内核已经严重过时,并且提供的图形驱动程序需要 X11 集成。虽然我发现我可以构建 Vanilla Linux 内核并让它在我的板上运行良好(测试 3.18)。这些天我还发现内核中包含了一个 DRM Tegra 驱动程序,我在 menuconfig 中启用了它并使用它构建了内核。我还设法让许多发行版与内核一起工作(尽管我还没有真正尝试过让 X 在任何一个上工作)。

我的问题是,超出这一点,我被卡住了。我不知道接下来要做什么才能让 GLES 渲染并与 DRM 驱动程序一起运行。我环顾四周,发现 Mesa 可能通过 DRM 支持 GLES,但我不确定这是否允许我在没有 X 的情况下这样做?另外,我究竟如何为 Tegra DRM 驱动程序配置和编译 Mesa?

此外,如何使用此 DRM 驱动程序配置输出显示?我的目标屏幕是一个 24 位并行 RGB 显示器,但我还没有把它连接起来,想先用 HDMI 进行测试。我真的不知道应该如何配置输出显示。我能找到的唯一可能有帮助的信息涉及我希望不会使用的 X 和 xorg.conf。我的设备确实在 HDMI 显示器上正确输出了控制台,它是如何知道这样做的?这个过程可能会以某种方式涉及设备树吗?

PS。我想这个问题有点愚蠢,但我对嵌入式 Linux 很陌生,并且刚刚弄清楚如何构建 vanilla 内核等,并且除了配置 X 之外,真的不知道 Linux 显示系统是如何工作的。查找有关此的信息也证明很难。

编辑:我已经在 Fedora 上使用 OpenTegra 驱动程序在 HDMI 上运行了 XFCE(登录不起作用,登录窗口非常小),如果我没记错的话,它会使用 DRM 驱动程序,所以希望这是个好消息?

0 投票
1 回答
77 浏览

mesa - Mesa 安装:配置过程正常,但安装过程出错

您好,我是 ubuntu 的新用户。我正在尝试在 ubuntu 中安装 mesa。配置过程正常。但是当我尝试安装时,它显示此消息

这个问题的解决方案是什么?

提前致谢

0 投票
1 回答
1349 浏览

opengl - 带有 osmesa 的 OpenGL ES 2.0

我正在尝试使用 osmesa(屏幕外台面)创建 OpenGL 上下文。我希望在没有窗口的情况下使用 mesa 的软件实现并将渲染的输出保存到 png 文件中。

http://www.mesa3d.org/osmesa.html

我使用以下内容创建了一个 GL 上下文:

但是,当我调用glGetString(GL_VERSION)版本是2.1 Mesa 10.1.1. 正如预期的那样,我的 GLSL ES 着色器都没有编译。使用 SDL 时,我可以提供版本提示并创建 GLES 2.0 上下文。

如何指定 osmesa 创建的 GL 上下文的版本?

0 投票
0 回答
2527 浏览

opengl - Yocto 为英特尔构建,qt5 eglfs 找不到 /usr/lib/dri/

我一直在为英特尔 QM87 构建 x86_64 的 yocto,并且我有一个 Qt5 应用程序,我想使用 -platform eglfs 运行,但它出错了。我试图让我的图像尽可能小,所以我不想安装所有的 x11 或 Wayland。有没有办法只安装我需要的驱动程序。每次我运行应用程序时都会出错,说找不到

/usr/lib/dri/i965_dri.so /usr/lib/dri/kms_swrast.so /usr/lib/dri/swrast_dri.so /usr/lib/gbm/gbm_gallium_drm.so

在我的 mesa.inc 文件中,我添加了包

PACKAGECONFIG ??= "egl gles dri 镓镓-egl 镓-gdm \

我的 conf/local.conf 包含

EXTRA_IMAGE_FEATURES = "调试调整 ssh-server-openssh " > CORE_IMAGE_EXTRA_INSTALL += " libgles2-mesa "

PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"
PREFERRED_PROVIDER_jpeg-native = "libjpeg-turbo-native"

IMAGE_INSTALL_append = " gcc g++ binutils libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev \
autoconf automake ccache chkconfig glib-networking glibmm \
packagegroup-core-buildessential pkgconfig \
boost cmake zlib glib-2.0 \
ruby​​ \
cpufrequtils \
nano \
gdb \
gstreamer \
gst-meta-video \
gst-plugins-base-app \
gst-plugins-base \
gst-plugins-good \
gst-plugins-good-rtsp \
gst-plugins-good-udp \
gst-plugins-good-rtpmanager \
gst-plugins-good-rtp\
gst-plugins-good-video4linux2\
openssh-sftp-server\
qtbase-fonts\
qtbase-plugins\
qtbase-tools\
qtdeclarative\
qtdeclarative-plugins\
qtdeclarative-tools\
qtdeclarative-qmlplugins\
qtmultimedia\
qtmultimedia-plugins\
qtmultimedia-qmlplugins\
qtsvg\
qtsvg-plugins\
qtsensors\
qtimageformats-plugins\
qtsystems\
qtsystems-tools
qtsystems-qmlplugins\
qtscript\
qt3d\
qt3d-qmlplugins\
qt3d-tools\
qtwebkit\
qtwebkit-qmlplugins\
qtgraphicaleffects-qmlplugins\
qtconnectivity-qmlplugins\
qtlocation-plugins\
qtlocation-qmlplugins \cinematicexperience
\
cairo pango fontconfig freetype pulseaudio dbus \
alsa-lib alsa-tools alsa-state alsa-utils-alsaconf \
i2c-tools \
libjpeg-turbo \
mesa \
libva-intel-driver \
"

DISTRO_FEATURES_remove = " x11 jpeg "
DISTRO_FEATURES += " wayland x11-base opengl pam"

BB_NUMBER_THREADS = "16"
PARALLEL_MAKE = "-j 16"

QT_PROVIDER = "qt5"

PACKAGECONFIG_GL_pn-qtbase = "gles2 linuxfb"
PACKAGECONFIG_DISTRO_pn-qtbase = "icu"

PACKAGECONFIG[qtbase] = "-nomake 测试 -opengl 桌面"

DISTRO_FEATURES += " \
ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc -fmtmsg libc-fstab libc-ftraverse \
libc-getlogin libc-idn libc-inet libc-inet-anl libc-libm libc-locales libc-locale-code \
libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld -debug libc-spawn libc-streams libc-sunrpc \
libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
libc-posix-wchar-io \
libgl1 -台面-德里\

0 投票
0 回答
432 浏览

c - Ubuntu 15.04 Mesa 和 SDL 实施

好久没问问题了

我正在尝试 SDL2 和 OpenGL(3.3,这是与 mesa 的兼容性限制),因为 GLSL 真的让我很感兴趣,但是在我的工作机器上,我很快就知道让事情正常工作并不容易。我使用过的每个教程,甚至 Mesa 演示本身都使用 Ubuntu 的基本 GL 库不附带的头文件,我已经辞职并安装了 GLEW,但是不断添加库来使事情正常工作感觉不对,GL我的标题是:

我尝试按照 LazyFoo 的教程进行操作,但没有得到相同的结果,即出现白色四边形。我按照opengl-tutorial的教程并没有得到相同的白色三角形出现的结果(它提到如果你一开始没有看到它不要担心,但没有解释在它没有的情况下该怎么做' t (我尝试按照教程的其余部分进行操作,但我是用 C 而不是 C++ 编写的,所以我担心偏离教程太远并进一步混淆问题。我已经安装了 SDL2 并确保我什么都有。这是我当前 SDL2/GL 程序中的代码,它根本没有显示白色三角形,它是教程的组合,但我已经阅读了所有 SDL API 材料,以确保没有SDL 方面会影响 GL 尝试做的事情。

gcc main.c -lSDL2 -lGL -o test用于链接,我怀疑我可能缺少链接库,但我不确定在哪里可以检查我是否存在,除非我遵循使用的教程,否则编译器不会警告我找不到任何它找不到的东西我没有的东西。

总而言之,由于这篇文章比预期的要长,所以问题是:

  • 我是否缺少任何重要的库来真正让它在我的系统上运行(Ubuntu 15.04 Intel Haswell Mobile x86/MMX/SSE2)?
  • 我是否错过了代码中看到白色三角形所必需的内容?