不支持的usampler

时间:2016-11-23 15:36:56

标签: opengl glsl

我有一台Intel HD Graphics 530(Skylake GT2)GPU。在Ubuntu 16.04 LTS上安装了MESA 13.1驱动程序。

我写了一个使用usampler2D的着色器,因此尝试使用#extension GL_EXT_gpu_shader4。显然这个GPU不支持,但#extension GL_EXT_texture_integer是。此外,还支持#version 130

但是,我无法使用usampler2Dtexture2D(usampler2D)使用

的任何组合
#version 120
#extension GL_EXT_texture_integer
uniform usampler2D tex;
void main() { texture2D(tex, vec2(0., 0.)); }

,也不

#version 130
uniform usampler2D tex;
void main() { texture2D(tex, vec2(0., 0.)); }

没有任何着色器版本成功编译。 texture2D(usampler)未定义重载的两个产生错误,显然只支持texture2D(sampler)重载。

0:20(18): error: no matching function for call to `texture2D(usampler2D, vec2)'; candidates are:
0:20(18): error:    vec4 texture2D(sampler2D, vec2)
0:20(18): error:    vec4 texture2D(sampler2D, vec2, float)

在这种架构上是否有使用usampler2D制服的替代方案?或者我可能使用错误的驱动程序配置?

1 个答案:

答案 0 :(得分:2)

public Form1() { initComponents(); MaskFormatter dateMask; try { dateMask = new MaskFormatter("|#|#|#|#|#|#|#|#|#|#|"); dateMask.install(JTEXTFORMATEE); } catch (ParseException ex) { Logger.getLogger(Forma051.class.getName()).log(Level.SEVERE, null, ex); } } 不能与任何类型的RewriteEngine On # allow one IP access everything RewriteCond %{REMOTE_ADDR} xxx\.xxx\.xxx\.xxx RewriteRule ^ - [L] # if request is not for /freedom/... then return 403 RewriteRule !^freedom(/.*)?$ - [F,L] 一起使用。 texture2D已从GLSL 1.30弃用,并在GLSL 1.50中删除。

correct function to use is texture。这需要GLSL 1.30或更高版本,或EXT_gpu_shader4