X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=builtin_data%2F_builtin.glsl;fp=builtin_data%2F_builtin.glsl;h=157e05a792bc658cca519e1c6154062db734267d;hp=b671f944df83da4960a5809fc4b28ab4f07839ff;hb=2b1dc627491c987b0459226dcb8ac6aadd7ee4d3;hpb=c585c065b7831eb6ae05e48edc36953d2534db2b diff --git a/builtin_data/_builtin.glsl b/builtin_data/_builtin.glsl index b671f944..157e05a7 100644 --- a/builtin_data/_builtin.glsl +++ b/builtin_data/_builtin.glsl @@ -41,6 +41,15 @@ typedef image(dimensions=cube, shadow, sampled) float samplerCubeShadow; typedef image(dimensions=cube[], shadow, sampled) float samplerCubeArrayShadow; typedef image(dimensions=2, sampled, multisample) float sampler2DMS; typedef image(dimensions=2[], sampled, multisample) float sampler2DMSArray; +typedef image(dimensions=1) float image1D; +typedef image(dimensions=2) float image2D; +typedef image(dimensions=3) float image3D; +typedef image(dimensions=cube) float imageCube; +typedef image(dimensions=1[]) float image1DArray; +typedef image(dimensions=2[]) float image2DArray; +typedef image(dimensions=cube[]) float imageCubeArray; +typedef image(dimensions=2, multisample) float image2DMS; +typedef image(dimensions=2[], multisample) float image2DMSArray; const float PI = 3.1415926535; @@ -532,6 +541,35 @@ vec4 texelFetch(sampler1DArray sampler, ivec2 P, int lod); vec4 texelFetch(sampler2DArray sampler, ivec3 P, int lod); vec4 texelFetch(sampler2DMS sampler, ivec2 P, int sample); vec4 texelFetch(sampler2DMSArray sampler, ivec3 P, int sample); +int imageSize(image1D image); +ivec2 imageSize(image2D image); +ivec3 imageSize(image3D image); +ivec2 imageSize(image1DArray image); +ivec3 imageSize(image2DArray image); +ivec2 imageSize(imageCube image); +ivec3 imageSize(imageCubeArray image); +ivec2 imageSize(image2DMS image); +ivec3 imageSize(image2DMSArray image); +int imageSamples(image2DMS image); +int imageSamples(image2DMSArray image); +vec4 imageLoad(image1D image, int P); +vec4 imageLoad(image2D image, ivec2 P); +vec4 imageLoad(image3D image, ivec3 P); +vec4 imageLoad(image1DArray image, ivec2 P); +vec4 imageLoad(image2DArray image, ivec3 P); +vec4 imageLoad(imageCube image, ivec3 P); +vec4 imageLoad(imageCubeArray image, ivec4 P); +vec4 imageLoad(image2DMS image, ivec2 P, int sample); +vec4 imageLoad(image2DMSArray image, ivec3 P, int sample); +void imageStore(image1D image, int P, vec4 data); +void imageStore(image2D image, ivec2 P, vec4 data); +void imageStore(image3D image, ivec3 P, vec4 data); +void imageStore(image1DArray image, ivec2 P, vec4 data); +void imageStore(image2DArray image, ivec3 P, vec4 data); +void imageStore(imageCube image, ivec3 P, vec4 data); +void imageStore(imageCubeArray image, ivec4 P, vec4 data); +void imageStore(image2DMS image, ivec2 P, int sample, vec4 data); +void imageStore(image2DMSArray image, ivec3 P, int sample, vec4 data); // END BUILTIN FUNCTIONS #pragma MSP stage(vertex)