问题标签 [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.
c - 在 GLSL 中使用多个纹理+过滤器
我正在尝试沿特定路径在 Opengl 中渲染点精灵。我将精灵定义为 2D 纹理并将其设置为使用 GL_NEAREST 作为 mag/min 过滤器。我还定义了一个包含一些 2D 坐标的 1D 纹理(这样我只需要每个精灵 1 个浮点数来确定它们的屏幕空间位置),我将其设置为 GL_LINEAR。
但是,当我在笔记本电脑上运行我的程序时,它总是使用精灵纹理的 mag 过滤器方法并忽略路径纹理上的设置。我的笔记本电脑在英特尔 Iris Pro 5200 上运行 Linux+mesa 9.2.1+Opengl 3.0。在我的桌面上一切正常,运行 Linux 并使用带有 opengl 4.2 的专有 Nvidia 驱动程序。
相关代码是
我的顶点着色器是
我的片段着色器是
我在这里粘贴的整个代码(单个文件),这里是我分别在 Nvidia 和 Intel 上看到的屏幕截图。
编辑:我在具有 3.0 上下文的 Nvidia 上得到相同的结果。
什么会导致这种情况?
opengl - 精度限定符在 Mesa 9.2.1 下为 OpenGL 3.0 引发错误
在 Ubuntu 13.10(64 位)上的 Mesa 9.2.1 下观察到 OpenGL 3.0 的一个奇怪问题。具有显式精度的变量定义(如highp vec2 v;
:)会产生错误:
由于某些原因,似乎在那里禁用了精度限定符。Mesa 发行说明没有明确这种情况——错误和通知都与主题无关。
带有 OpenGL ES 3.0 精度限定符的 PS 可以正常工作。
opengl - 在 Mesa 10 和 GLFW3 中使用 OpenGL 核心配置文件
我在配备 Intel HD 3000 GPU 的 HP 笔记本电脑上运行带有 Mesa 10 的 Arch Linux。(还有一个 ATI 卡,但我在启动时将其关闭。)我正在尝试使用核心配置文件运行 OpenGL 代码。根据 glxinfo 应该支持 OpenGL 3.1 和 GLSL 1.4:
但是,当我编译 GLFW 程序时,尝试强制核心配置文件,并要求 OpenGL 版本,如下所示:
以及使用 GLSL #version 140 编译着色器,这是打印输出:
因此,似乎应该支持 OpenGL 3.1 和 GLSL 1.4,但它们没有在我的 GLFW 程序中使用。谁能告诉我可能出了什么问题?
c - GBM 上的 EGLDisplay
我想通过 EGL 创建一个 OpenGL 上下文。由于我不会实际绘制,因此我想将 Pbuffers 与 GBM 平台结合使用。这是代码(C99):
它失败并出现以下错误:
这是我作为示例的页面。
我很惊讶,因为我用 , 构建了 Mesa --with-egl-platforms=drm,wayland,x11
,即使这里声明EGL_DEFAULT_DISPLAY
映射到指定的第一个平台,它也是_XDisplay *
我系统上的别名。
AFAIK,Weston 在 GBM 之上创建了一个 EGLDisplay,用于在裸 KMS 上绘图。我查看了它的代码,并且已经找到了相关的系统标头以寻找解决方案,但它似乎不存在。
FWIW,我在 Radeon HD 3200、Linux 3.12.6、GCC 4.8.2 上使用 Mesa 10.0。
opengl - 在 Debian 上安装 Mesa 10
所以,这是我的问题——我想在一台装有运行 Kali *nix 的 HD4000 集成图形处理器的笔记本电脑上完成这些教程。问题是安装的 Mesa 3D 版本只有 8 版左右,因此只会运行太旧的 OpenGL 实现——本教程需要 OpenGL 3.3 或更高版本。然而,最近发布的 Mesa 10 通过提供对 OpenGL 3.3 的支持使这成为可能!
所以我要做的就是在我的系统上安装 Mesa 10,这样我就可以完成这些教程。我找到了这个答案,但它似乎只适用于 Ubuntu。我尝试运行建议的
但在2)之后。我得到了错误
我也是直接从网站下载了 tar.gz Mesa 10 文件,运行后配置
虽然这产生了错误;
opengl - 我可以在没有显卡或 MESA 的情况下在我的计算机上编程/编译 OpenGL 4.0 代码吗?
我最近开始使用 Redbook 第 8 版使用 Open GL 4.0。从早上到现在,我无法编译 OpenGL 程序的“HelloWorld”。
我配置了依赖项,将 freeGlut/GLEW/GLSL 的文件内容传输到我的 VS 2013 C++ IDE 的相应 VC 文件夹中。我最终确信,这种事件崩溃的催化剂发生了,因为 VS 引用了不同位置的多个 lib 文件,并且链接器无法对它所引用的内容进行正面连接。
然而,我意识到另一个我天真/无知的问题。我会不会因为我的依赖配置而遇到编译问题,而是因为我只有一个内置的芯片组而不是一个卡并且没有 MESA?
我不知道我的内置芯片组是否支持openGL 4.0
英特尔(R) 高清显卡 4000
编辑:我在 VS 2013 中的编译错误没有给出任何“线索”表明它是硬件问题。所有这些都是LNK2005问题。
tcp - tcp/ip 接收带有 tof 相机台面 sr4500 的 simulink
我通过simulink从飞行时间相机(mesa sr4500)的局域网连接到我的电脑接收原始数据流时遇到问题。simulink 块的 ip 地址和端口tcp/ip receive
似乎选择正确(它是我的网卡的 ip 地址和端口)。这是 simulink 块的进一步设置的图片:
这是我收到的错误消息。
块错误 -> 在“解码/TCP/IP 接收”中评估 MATLAB S-Function“stciprb”的注册方法“输出”时出错
原因:在超时期限内未返回指定数量的数据。请确保将数据发送到指定更大的超时值的指定端口。
我认为更大的超时不会有帮助,因为相机已经以 10 fps 的速度流式传输。所以超时时间应该足够长。
我误解了任何设置选项吗?有人用过类似的相机吗?
opengl-es-2.0 - 使用 Mesa 的 OpenGL ES 2.0 的片段着色器的 glCompile() 上的段错误
我正在做一个项目,我想让 OpenGL 图形显示在 X11 窗口中。这需要在 Ubuntu 12.04 上完成,我使用的是 Mesa 的 OpenGL ES 2.0 和 egl 版本。有几个着色器被编译并且它们工作正常,但是当我到达一个时,gdb 显示glCompile()
这个片段着色器正在发生段错误:
编辑:
这是另一个在上面编译之前编译的片段着色器,似乎没有引起任何问题:
PixmapShaderFrag
着色器和其他着色器之间唯一的大区别是texture2D()
,所以我认为这可能是导致段错误的原因。有谁知道 Mesa 和 using 是否有问题texture2D()
,或者着色器是否有其他问题?texture2D()
即使需要更多着色器代码,是否还有另一种方法可以做?
opencl - 如何使用开源驱动程序在 AMD 显卡上设置 OpenCL?
我已阅读此链接 - https://wiki.debian.org/ru/AtiHowTo 并决定设置 OpenCL。
r600g 驱动程序仍然需要将专有微代码加载到 GPU 中以启用硬件加速。该固件通常包含在内核中,但在 Debian 中单独打包。
所以,我安装了固件:
然后我升级内核版本:
并检查内核标志:
我还设置了足够近的 xserver 版本:
我选择 radeon 作为驱动程序:
您肯定正在使用 wheezy 的 xserver-xorg-core,它不再提供 xorg-video-abi-6.0,并且 radeonhd 不适用于较新的 xorg-video-abi,因为它已从 Debian 中删除
这让我 OpenGL 工作:
我正在尝试使用适用于 OpenCL 的应用程序。
这个程序在 CPU 上运行正常:
但我无法检测到 GPU:
设备列表中没有 GPU:
我找不到有关如何设置 OpenCL 的说明:
启动应用程序后,我收到一个错误:
错误代码值在 opencl.h 中定义 看起来您的平台配置不正确。来自 clGetPlatformID 的 CL_PLATFORM_NOT_FOUND_KHR (-1001) 错误。那是因为你有调度程序,但没有真正的 OpenCL 驱动程序。”
后
在配置文件中应该有
错误是
如何使这项工作?
opengl - 如何在 Ubuntu 上使用 Mesa 10.1 启用 OpenGL 3.3
radeon
我正在尝试使用基于 OpenGL 3.3 和 GLSL 3.3 的基于 OpenGL 的渲染引擎使用 AMD Radeon 6950 在 Ubuntu 13.10 上运行。我想使用依赖 Mesa 实现 OpenGL的开源驱动程序 ( )。Ubuntu 13.10 仅提供“开箱即用”的 Mesa 9.2(实现 OpenGL 3.1)。但是,可以从此PPA安装 Mesa 10.1(实现 OpenGL 3.3),如该线程中所述:
StackOverflow:Ubuntu 12.04 下 HD Graphics 4000 上的 OpenGL 和 GLSL 3.3
我使用了与那里解释的完全相同的步骤:
Mesa 10.1 已成功安装。然而,glxinfo
虽然它现在报告 Mesa 10.1 正在使用中,但仍然只报告 OpenGL 3.0(兼容配置文件)和 OpenGL 3.1(核心配置文件):
这是为什么?如何启用 OpenGL 3.3?通过我提到的 StackOverflow 线程中的比较可以看出,有可能glxinfo
报告 OpenGL 3.3。我知道根据 Mesa 10.1 Release Notesglxinfo
可能会报告错误的版本号,但是我尝试运行的渲染引擎因此而失败。
我使用以下代码生成一个窗口:
当我尝试使用此设置运行渲染引擎时,会抛出上述异常,因为不支持 OpenGL 3.3。我可以设置GLFW_OPENGL_VERSION_MINOR
为0
然后窗口可以正常打开,但是稍后会抛出异常,因为需要 GLSL 3.3 着色器。
另请注意,当我使用专有fglrx
驱动程序时渲染引擎运行良好(然后glxinfo
报告 OpenGL 版本 4.2),因此应用程序本身确实不是问题,但支持的 OpenGL 是。
那么我做错了什么?为什么 Mesa 10.1 不支持我的 OpenGL 3.3?我的显卡当然支持它。
以下是一些可能有用的附加信息。