Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenGL代码是否可以在x86 CPU上运行?_Opengl_X86_Opencl - Fatal编程技术网

OpenGL代码是否可以在x86 CPU上运行?

OpenGL代码是否可以在x86 CPU上运行?,opengl,x86,opencl,Opengl,X86,Opencl,我知道AMD创建了一个在x86 CPU上运行的OpenCL替代品。从简化调试的角度来看,这非常有用。不幸的是,OpenCL不是我的选择 是否存在开放式GLx86实现?这将大大简化我的开发过程,当然是以牺牲一些CPU时间为代价的。之后,我会在GPU上运行相同的代码,无需进行任何更改。可能是您的选择 从他们的网站: Mesa是针对Intel、AMD和NVIDIA制造的几种类型的硬件以及VMware虚拟GPU的OpenGL实现还有几种基于软件的渲染器:swrast(传统的Mesa光栅化器)、softp

我知道AMD创建了一个在x86 CPU上运行的OpenCL替代品。从简化调试的角度来看,这非常有用。不幸的是,OpenCL不是我的选择

是否存在开放式GLx86实现?这将大大简化我的开发过程,当然是以牺牲一些CPU时间为代价的。之后,我会在GPU上运行相同的代码,无需进行任何更改。

可能是您的选择

从他们的网站:

Mesa是针对Intel、AMD和NVIDIA制造的几种类型的硬件以及VMware虚拟GPU的OpenGL实现还有几种基于软件的渲染器:swrast(传统的Mesa光栅化器)、softpipe(镓参考驱动程序)和llvmpipe(基于LLVM/JIT的高速光栅化器)。

使用Mesa时,您可以设置
LIBGL\u ALWAYS\u SOFTWARE
环境变量,这将导致Mesa“始终使用软件渲染”。

可能是您的一个选项

从他们的网站:

Mesa是针对Intel、AMD和NVIDIA制造的几种类型的硬件以及VMware虚拟GPU的OpenGL实现还有几种基于软件的渲染器:swrast(传统的Mesa光栅化器)、softpipe(镓参考驱动程序)和llvmpipe(基于LLVM/JIT的高速光栅化器)。


使用Mesa时,您可以设置
LIBGL\u ALWAYS\u SOFTWARE
环境变量,这将导致Mesa“始终使用软件渲染”。

OpenGL不是指令集,也不是库。这是一个用于与GPU接口的绘图API(是的,有基于软件的光栅化器,如Mesa softpipe)。现在你能找到的大多数计算机都支持OpenGL


当您使用OpenGL API时,它不像您的OpenGL调用被“翻译”为GPU的特殊指令集,而GPU是您程序的一部分。OpenGL操作只会创建最终在设备驱动程序中结束的调用,就像读取或写入文件一样。

OpenGL不是指令集,也不是库。这是一个用于与GPU接口的绘图API(是的,有基于软件的光栅化器,如Mesa softpipe)。现在你能找到的大多数计算机都支持OpenGL


当您使用OpenGL API时,它不像您的OpenGL调用被“翻译”为GPU的特殊指令集,而GPU是您程序的一部分。OpenGL操作只会创建最终在设备驱动程序中结束的调用,就像读取或写入文件一样。

?不过,它可能不支持您想要的所有功能。@Michael,很好!我听说过,但不知道是什么。但是哦。。。只有OpenGL 3.1,我的目标是3.2核心配置文件。:/不过,也许有一种可能性…@迈克尔,那是他们网页上的一个错误。看起来,它最多支持3.3。如果你能将此作为答复,我将接受。谢谢不过,它可能不支持您想要的所有功能。@Michael,很好!我听说过,但不知道是什么。但是哦。。。只有OpenGL 3.1,我的目标是3.2核心配置文件。:/不过,也许有一种可能性…@迈克尔,那是他们网页上的一个错误。看起来,它最多支持3.3。如果你能将此作为答复,我将接受。谢谢这不是答案,这是评论。不过,谢谢你在这方面给出了许多有用的OpenGL答案,其中一个我今天投了更高的票。@NickWiggill:对不起,但很难让你知道你最初的问题是什么。您询问的是x86 OpenGL实现。是的,有。每个用于x86体系结构的GPU驱动程序都是这样的实现。您谈论的是调试,但您根本没有说出要调试的内容。此外,你应该考虑OpenGL是一个黑盒子。假设您正在使用“Mesa softpipe”进行调试:您想了解使用该实现的程序的哪些信息?“每个用于x86体系结构的GPU驱动程序都是这样的实现”。你说得很对。但它们需要的不仅仅是一个x86 CPU——它们还需要一个能与x86系统协同工作的GPU。所以我可以看到混乱是从哪里来的。我本质上是在要求一个软件实现。重新调试,两个方面:GPU OpenGL可能会报告,但除非请求,否则不会吐出数据。Mesa可以通过一个开关来实现这一点。其次,我想更容易地了解着色器产生的值。TBF,我不确定Mesa是否能提供这些。@NickWiggill:你仍然没有明确说明你到底想得到什么!如果是调试或评测,OpenGL调试器分析器可能是更好的选择。gDEBugger和Valve软件最近发布了他们的内部开源开发:–特定OpenGL实现的内部工作机制可能在不同的实现之间存在很大差异。是的,研究一个软件实现可能很有趣,但是你几乎没有了解到它在目标平台上是如何交互的。这不是一个答案,这是一个评论。不过,谢谢你在这方面给出了许多有用的OpenGL答案,其中一个我今天投了更高的票。@NickWiggill:对不起,但很难让你知道你最初的问题是什么。您询问的是x86 OpenGL实现。是的,有。每个用于x86体系结构的GPU驱动程序都是这样的实现。您谈论的是调试,但您根本没有说出要调试的内容。此外,你应该考虑OpenGL是一个黑盒子。假设您正在使用“Mesa softpipe”进行调试:您想了解使用该实现的程序的哪些信息?“每个用于x86体系结构的GPU驱动程序都是这样的实现”。你说得很对。但它们需要的不仅仅是一个x86 CPU——它们还需要一个能与x86系统协同工作的GPU。所以我可以看到混乱是从哪里来的。我基本上是在要求一个s