diff --git a/build.gradle.kts b/build.gradle.kts index 5d647f4..b6980ef 100755 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,7 +15,7 @@ plugins { id("org.jetbrains.intellij") version "1.9.0" } -val pluginVersion = "1.24-SNAPSHOT" +val pluginVersion = "1.24" group = "com.darkyen" version = pluginVersion @@ -79,7 +79,7 @@ tasks.register("generateGLSLHeaders", Exec::class.java) { outputs.upToDateWhen { false } doLast { - val glslDocFiles = File(refDir, "gl4").listFiles(object : FileFilter { + val glslDocFiles: Array = File(refDir, "gl4").listFiles(object : FileFilter { val nameRegex = Pattern.compile("") val ignoreFiles = setOf("removedTypes.xml",// Does not contain anything, but uses misleading xml root // All part of gl_PerVertex with non-consistent xml structure @@ -97,7 +97,7 @@ tasks.register("generateGLSLHeaders", Exec::class.java) { } return false } - }) + })!! glslDocFiles.sortBy { it.name } @@ -158,207 +158,228 @@ tasks.register("generateGLSLHeaders", Exec::class.java) { * When key type is encountered, it means the type(s) on the right */ // https://github.com/KhronosGroup/OpenGL-Registry/blob/main/specs/gl/GLSLangSpec.4.60.html - val validTypesAndAliases = HashMap>().apply { - put("void", listOf("void")) - put("atomic_uint", listOf("atomic_uint")) - - for ((prefix, baseType) in listOf("" to "float", "d" to "double", "b" to "bool", "i" to "int", "u" to "uint")) { - // gen type - val genType = ArrayList()// Primitive and vectors - put("gen"+prefix.toUpperCase()+"Type", genType) - - // Primitive - put(baseType, listOf(baseType)) - genType.add(baseType) - - // Vector - val vecType = ArrayList() - put(prefix+"vec", vecType) - for (i in 2..4) { - val vType = prefix+"vec"+i - genType.add(vType) - vecType.add(vType) - put(vType, listOf(vType)) - } + val validTypes = HashSet().apply { + add("void") + add("atomic_uint") + } + // For types that have multiple names and need resolving into canonical form + val typeAliases = HashMap() + val genericTypes = HashMap>() + + val primitiveTypeByPrefix = listOf("" to "float", "d" to "double", "b" to "bool", "i" to "int", "u" to "uint") + + for ((prefix, baseType) in primitiveTypeByPrefix) { + // gen type + val genType = HashMap()// Primitive and vectors of the primitive + genericTypes["gen"+prefix.toUpperCase()+"Type"] = genType + + // Primitive + validTypes.add(baseType) + genType["1"] = baseType + + // Vector + val vecType = HashMap() + genericTypes[prefix+"vec"] = vecType + for (i in 2..4) { + val vType = prefix+"vec"+i + genType[i.toString()] = vType + vecType[i.toString()] = vType + validTypes.add(vType) + } - // Matrix - val matType = ArrayList() - put(prefix+"mat", matType) + // Matrix + if (baseType in listOf("float", "double")) { + // There are only float and double matrixes in GLSL 4.50 (https://registry.khronos.org/OpenGL/specs/gl/GLSLangSpec.4.50.pdf) + + val matType = HashMap() + genericTypes[prefix + "mat"] = matType for (a in 2..4) { for (b in 2..4) { - val full = prefix+"mat"+a+"x"+b - val canon = if (a == b) prefix+"mat"+a else full + val full = prefix + "mat" + a + "x" + b + val canon = if (a == b) prefix + "mat" + a else full if (full !== canon) { - put(full, listOf(canon)) + typeAliases[full] = canon } - matType.add(canon) - put(canon, listOf(canon)) + matType["${a}x$b"] = (canon) + validTypes.add(canon) } } } + } - put("gvec4", listOf("vec4", "ivec4", "uvec4", "dvec4"/* not mentioned in 4.60 spec, but maybe it is an extension?*/)) - - val handles = listOf( - "sampler1D", - "texture1D", - "image1D", - "sampler1DShadow", - "sampler1DArray", - "texture1DArray", - "image1DArray", - "sampler1DArrayShadow", - "sampler2D", - "texture2D", - "image2D", - "sampler2DShadow", - "sampler2DArray", - "texture2DArray", - "image2DArray", - "sampler2DArrayShadow", - "sampler2DMS", - "texture2DMS", - "image2DMS", - "sampler2DMSArray", - "texture2DMSArray", - "image2DMSArray", - "sampler2DRect", - "texture2DRect", - "image2DRect", - "sampler2DRectShadow", - "sampler3D", - "texture3D", - "image3D", - "samplerCube", - "textureCube", - "imageCube", - "samplerCubeShadow", - "samplerCubeArray", - "textureCubeArray", - "imageCubeArray", - "samplerCubeArrayShadow", - "samplerBuffer", - "textureBuffer", - "imageBuffer", - "subpassInput", - "subpassInputMS", - "isampler1D", - "itexture1D", - "iimage1D", - "isampler1DArray", - "itexture1DArray", - "iimage1DArray", - "isampler2D", - "itexture2D", - "iimage2D", - "isampler2DArray", - "itexture2DArray", - "iimage2DArray", - "isampler2DMS", - "itexture2DMS", - "iimage2DMS", - "isampler2DMSArray", - "itexture2DMSArray", - "iimage2DMSArray", - "isampler2DRect", - "itexture2DRect", - "iimage2DRect", - "isampler3D", - "itexture3D", - "iimage3D", - "isamplerCube", - "itextureCube", - "iimageCube", - "isamplerCubeArray", - "itextureCubeArray", - "iimageCubeArray", - "isamplerBuffer", - "itextureBuffer", - "iimageBuffer", - "isubpassInput", - "isubpassInputMS", - "usampler1D", - "utexture1D", - "uimage1D", - "usampler1DArray", - "utexture1DArray", - "uimage1DArray", - "usampler2D", - "utexture2D", - "uimage2D", - "usampler2DArray", - "utexture1DArray", - "uimage2DArray", - "usampler2DMS", - "utexture2DMS", - "uimage2DMS", - "usampler2DMSArray", - "utexture2DMSArray", - "uimage2DMSArray", - "usampler2DRect", - "utexture2DRect", - "uimage2DRect", - "usampler3D", - "utexture3D", - "uimage3D", - "usamplerCube", - "utextureCube", - "uimageCube", - "usamplerCubeArray", - "utextureCubeArray", - "uimageCubeArray", - "usamplerBuffer", - "utextureBuffer", - "uimageBuffer", - "usubpassInput", - "usubpassInputMS", - "sampler", - "samplerShadow", + for (i in 2..4) { + genericTypes["gvec$i"] = mapOf( + "float" to "vec$i", + "int" to "ivec$i", + "uint" to "uvec$i", + "double" to "dvec$i", + "bool" to "bvec$i", ) - for (handle in handles) { - put(handle, listOf(handle)) - } + } - // Only those found in docs - val genericHandles = listOf( - "gimage1D", - "gimage1DArray", - "gimage2D", - "gimage2DArray", - "gimage2DMS", - "gimage2DMSArray", - "gimage2DRect", - "gimage3D", - "gimageBuffer", - "gimageCube", - "gimageCubeArray", - "gsampler1D", - "gsampler1DArray", - "gsampler2D", - "gsampler2DArray", - "gsampler2DMS", - "gsampler2DMSArray", - "gsampler2DRect", - "gsampler3D", - "gsamplerBuffer", - "gsamplerCube", - "gsamplerCubeArray", - ) - for (genericHandle in genericHandles) { - if (genericHandle[0] != 'g') throw AssertionError(genericHandle+" is not g prefixed") - val suffix = genericHandle.substring(1) - val concreteHandles = handles.filter { it.length in suffix.length..suffix.length + 1 && it.endsWith(suffix) } - //println("$genericHandle -> $concreteHandles") - if (concreteHandles.size <= 1) throw AssertionError("$genericHandle has no concrete implementations") - put(genericHandle, concreteHandles) + validTypes.addAll(arrayOf( + "sampler1D", + "texture1D", + "image1D", + "sampler1DShadow", + "sampler1DArray", + "texture1DArray", + "image1DArray", + "sampler1DArrayShadow", + "sampler2D", + "texture2D", + "image2D", + "sampler2DShadow", + "sampler2DArray", + "texture2DArray", + "image2DArray", + "sampler2DArrayShadow", + "sampler2DMS", + "texture2DMS", + "image2DMS", + "sampler2DMSArray", + "texture2DMSArray", + "image2DMSArray", + "sampler2DRect", + "texture2DRect", + "image2DRect", + "sampler2DRectShadow", + "sampler3D", + "texture3D", + "image3D", + "samplerCube", + "textureCube", + "imageCube", + "samplerCubeShadow", + "samplerCubeArray", + "textureCubeArray", + "imageCubeArray", + "samplerCubeArrayShadow", + "samplerBuffer", + "textureBuffer", + "imageBuffer", + "subpassInput", + "subpassInputMS", + "isampler1D", + "itexture1D", + "iimage1D", + "isampler1DArray", + "itexture1DArray", + "iimage1DArray", + "isampler2D", + "itexture2D", + "iimage2D", + "isampler2DArray", + "itexture2DArray", + "iimage2DArray", + "isampler2DMS", + "itexture2DMS", + "iimage2DMS", + "isampler2DMSArray", + "itexture2DMSArray", + "iimage2DMSArray", + "isampler2DRect", + "itexture2DRect", + "iimage2DRect", + "isampler3D", + "itexture3D", + "iimage3D", + "isamplerCube", + "itextureCube", + "iimageCube", + "isamplerCubeArray", + "itextureCubeArray", + "iimageCubeArray", + "isamplerBuffer", + "itextureBuffer", + "iimageBuffer", + "isubpassInput", + "isubpassInputMS", + "usampler1D", + "utexture1D", + "uimage1D", + "usampler1DArray", + "utexture1DArray", + "uimage1DArray", + "usampler2D", + "utexture2D", + "uimage2D", + "usampler2DArray", + "utexture1DArray", + "uimage2DArray", + "usampler2DMS", + "utexture2DMS", + "uimage2DMS", + "usampler2DMSArray", + "utexture2DMSArray", + "uimage2DMSArray", + "usampler2DRect", + "utexture2DRect", + "uimage2DRect", + "usampler3D", + "utexture3D", + "uimage3D", + "usamplerCube", + "utextureCube", + "uimageCube", + "usamplerCubeArray", + "utextureCubeArray", + "uimageCubeArray", + "usamplerBuffer", + "utextureBuffer", + "uimageBuffer", + "usubpassInput", + "usubpassInputMS", + //"sampler", + //"samplerShadow", + )) + + // Only those found in docs + val genericHandles = listOf( + "gimage1D", + "gimage1DArray", + "gimage2D", + "gimage2DArray", + "gimage2DMS", + "gimage2DMSArray", + "gimage2DRect", + "gimage3D", + "gimageBuffer", + "gimageCube", + "gimageCubeArray", + "gsampler1D", + "gsampler1DArray", + "gsampler2D", + "gsampler2DArray", + "gsampler2DMS", + "gsampler2DMSArray", + "gsampler2DRect", + "gsampler3D", + "gsamplerBuffer", + "gsamplerCube", + "gsamplerCubeArray", + ) + for (genericHandle in genericHandles) { + if (genericHandle[0] != 'g') throw AssertionError("$genericHandle is not g prefixed") + val ungenericHandle = genericHandle.substring(1) + val resolved = HashMap() + for ((prefix, primitive) in primitiveTypeByPrefix) { + val validHandle = prefix + ungenericHandle + if (validHandle !in validTypes) { + continue + } + resolved[primitive] = validHandle } - // I believe this one is a typo in the docs, because there is no mention in the standard of a type which contains "bufferImage" in it - put("gbufferImage", get("gimageBuffer")!!) + if (resolved.isEmpty()) { + throw AssertionError("$genericHandle has no concrete implementations") + } + genericTypes[genericHandle] = resolved } - /** These types appear in the docs, but don't actually exist. */ - val invalidTypes = setOf( - "gimageRect"// https://github.com/KhronosGroup/GLSL/issues/173 - ) + + // I believe this one is a typo in the docs, because there is no mention in the standard of a type which contains "bufferImage" in it + typeAliases["gbufferImage"] = "gimageBuffer" + typeAliases["gimageRect"] = "gimage2DRect"// https://github.com/KhronosGroup/GLSL/issues/173 + val TypeNameSplitPattern = Pattern.compile("\\s+") val keywords = setOf("sample")// Just the problematic ones @@ -398,11 +419,13 @@ tasks.register("generateGLSLHeaders", Exec::class.java) { name = "${name}_" } - return TypeName(parts[parts.size - 2], array, name, modifier, optional) + val rawType = parts[parts.size - 2] + val type = typeAliases[rawType] ?: rawType + return TypeName(type, array, name, modifier, optional) } // First TypeName belongs to the function itself, rest are parameters - val functionDefinitions = ArrayList>() + val genericFunctionDefinitions = ArrayList>() val fieldDefinitions = LinkedHashMap() for (glslDocFile in glslDocFiles) { @@ -447,25 +470,23 @@ tasks.register("generateGLSLHeaders", Exec::class.java) { } } - if (definition.any { it.type in invalidTypes }) { - // Bogus definition - return@forEach - } - for (name in definition) { - if (name.type !in validTypesAndAliases) { + if (name.type !in validTypes && name.type !in genericTypes) { throw AssertionError("Unknown type "+name.type+" of "+prototype.outerHtml()) } } - functionDefinitions.add(definition) + genericFunctionDefinitions.add(definition) } root.select("fieldsynopsis").forEach { fieldSynopsis -> gotFuncOrField = true val fieldDef = typeNameFrom(fieldSynopsis)!! - if (validTypesAndAliases[fieldDef.type]!!.size != 1) { - throw AssertionError("Field definitions can't have generic types: "+fieldSynopsis.outerHtml()) + if (fieldDef.type !in validTypes) { + if (fieldDef.type in genericTypes) { + throw AssertionError("Field definitions can't have generic types: "+fieldSynopsis.outerHtml()) + } + throw AssertionError("Field definitions can't have invalid types: "+fieldSynopsis.outerHtml()) } if (fieldDef.optional) { throw AssertionError("Field definitions can't be optional: "+fieldSynopsis.outerHtml()) @@ -480,7 +501,38 @@ tasks.register("generateGLSLHeaders", Exec::class.java) { if (!gotFuncOrField) { println("Nothing actionable found in "+glslDocFile.name) } + } + val functionDefinitions = ArrayList>() + for (fnDef in genericFunctionDefinitions) { + var genericAxes: Set? = null + for (part in fnDef) { + val genericResolution = genericTypes[part.type] ?: continue + genericAxes = if (genericAxes == null) { + genericResolution.keys + } else { + genericResolution.keys.intersect(genericAxes) + } + } + if (genericAxes == null) { + // Not generic + functionDefinitions.add(fnDef) + continue + } + if (genericAxes.isEmpty()) { + throw AssertionError("$fnDef has no common axes to resolve generics with") + } + for (axis in genericAxes) { + val resolvedFn = fnDef.map { typeName -> + val genericResolution = genericTypes[typeName.type] + if (genericResolution == null) { + typeName + } else { + typeName.copy(type = genericResolution[axis]!!) + } + } + functionDefinitions.add(resolvedFn) + } } val resultGLSL = buildString { @@ -514,68 +566,31 @@ out gl_PerVertex { append(";\n\n") } - - fun resolveFunctionGenerics(functionDefinition: List): Iterator> { - return iterator { - val result = ArrayList() - val resolutions = HashMap() - suspend fun SequenceScope>.resolvePart(i: Int) { - if (i == functionDefinition.size) { - yield(result) - if (result.last().optional) { - val withoutLast = result.removeLast() - yield(result) - result.add(withoutLast) - } - return - } - val part = functionDefinition[i] - val alreadyResolved = resolutions[part.type] - if (alreadyResolved != null) { - result.add(part.copy(type = alreadyResolved)) - resolvePart(i + 1) - result.removeLast() - } else { - for (variant in validTypesAndAliases[part.type]!!) { - resolutions[part.type] = variant - result.add(part.copy(type = variant)) - resolvePart(i + 1) - result.removeLast() - } - resolutions.remove(part.type) - } - } - resolvePart(0) - } - } - var lastFunctionName = "" - for (functionDefinitionRaw in functionDefinitions) { - if (lastFunctionName != functionDefinitionRaw[0].name) { + for (functionDefinition in functionDefinitions) { + if (lastFunctionName != functionDefinition[0].name) { append('\n') } - lastFunctionName = functionDefinitionRaw[0].name + lastFunctionName = functionDefinition[0].name - for (functionDefinition in resolveFunctionGenerics(functionDefinitionRaw)) { - val base = functionDefinition[0] - append(base.type).append(' ').append(base.name).append('(') + val base = functionDefinition[0] + append(base.type).append(' ').append(base.name).append('(') - for (p in 1 until functionDefinition.size) { - if (p != 1) append(", ") - val param = functionDefinition[p] - if (param.modifier != null) { - append(param.modifier).append(' ') - } + for (p in 1 until functionDefinition.size) { + if (p != 1) append(", ") + val param = functionDefinition[p] + if (param.modifier != null) { + append(param.modifier).append(' ') + } - append(param.type).append(' ').append(param.name) - if (param.array == 0) { - append("[]") - } else if (param.array > 0) { - append('[').append(param.array).append(']') - } + append(param.type).append(' ').append(param.name) + if (param.array == 0) { + append("[]") + } else if (param.array > 0) { + append('[').append(param.array).append(']') } - append(");\n") } + append(");\n") } } diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index c39c3ee..6af7495 100755 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -36,7 +36,7 @@ -
  • +
  • Remove invalid builtin function definitions for some generic functions

  • Please report any bugs you find. Support in form of kind reviews or sponsorships is appreciated.

    diff --git a/src/main/resources/glsl/builtin.glsl b/src/main/resources/glsl/builtin.glsl index 19e5ced..ddfbc41 100755 --- a/src/main/resources/glsl/builtin.glsl +++ b/src/main/resources/glsl/builtin.glsl @@ -1,5 +1,5 @@ // GLSL Built-ins -// Generated on 2022-11-10T20:38:50.798534800Z +// Generated on 2023-01-24T11:01:44.333017600Z // Generated from documentation at https://github.com/KhronosGroup/OpenGL-Refpages out gl_PerVertex { @@ -164,20 +164,8 @@ ivec2 bitCount(ivec2 value); ivec3 bitCount(ivec3 value); ivec4 bitCount(ivec4 value); int bitCount(uint value); -int bitCount(uvec2 value); -int bitCount(uvec3 value); -int bitCount(uvec4 value); -ivec2 bitCount(uint value); ivec2 bitCount(uvec2 value); -ivec2 bitCount(uvec3 value); -ivec2 bitCount(uvec4 value); -ivec3 bitCount(uint value); -ivec3 bitCount(uvec2 value); ivec3 bitCount(uvec3 value); -ivec3 bitCount(uvec4 value); -ivec4 bitCount(uint value); -ivec4 bitCount(uvec2 value); -ivec4 bitCount(uvec3 value); ivec4 bitCount(uvec4 value); int bitfieldExtract(int value, int offset, int bits); @@ -323,31 +311,13 @@ double dot(dvec3 x, dvec3 y); double dot(dvec4 x, dvec4 y); bvec2 equal(vec2 x, vec2 y); -bvec2 equal(vec3 x, vec3 y); -bvec2 equal(vec4 x, vec4 y); -bvec3 equal(vec2 x, vec2 y); bvec3 equal(vec3 x, vec3 y); -bvec3 equal(vec4 x, vec4 y); -bvec4 equal(vec2 x, vec2 y); -bvec4 equal(vec3 x, vec3 y); bvec4 equal(vec4 x, vec4 y); bvec2 equal(ivec2 x, ivec2 y); -bvec2 equal(ivec3 x, ivec3 y); -bvec2 equal(ivec4 x, ivec4 y); -bvec3 equal(ivec2 x, ivec2 y); bvec3 equal(ivec3 x, ivec3 y); -bvec3 equal(ivec4 x, ivec4 y); -bvec4 equal(ivec2 x, ivec2 y); -bvec4 equal(ivec3 x, ivec3 y); bvec4 equal(ivec4 x, ivec4 y); bvec2 equal(uvec2 x, uvec2 y); -bvec2 equal(uvec3 x, uvec3 y); -bvec2 equal(uvec4 x, uvec4 y); -bvec3 equal(uvec2 x, uvec2 y); bvec3 equal(uvec3 x, uvec3 y); -bvec3 equal(uvec4 x, uvec4 y); -bvec4 equal(uvec2 x, uvec2 y); -bvec4 equal(uvec3 x, uvec3 y); bvec4 equal(uvec4 x, uvec4 y); float exp(float x); @@ -374,20 +344,8 @@ ivec2 findLSB(ivec2 value); ivec3 findLSB(ivec3 value); ivec4 findLSB(ivec4 value); int findLSB(uint value); -int findLSB(uvec2 value); -int findLSB(uvec3 value); -int findLSB(uvec4 value); -ivec2 findLSB(uint value); ivec2 findLSB(uvec2 value); -ivec2 findLSB(uvec3 value); -ivec2 findLSB(uvec4 value); -ivec3 findLSB(uint value); -ivec3 findLSB(uvec2 value); ivec3 findLSB(uvec3 value); -ivec3 findLSB(uvec4 value); -ivec4 findLSB(uint value); -ivec4 findLSB(uvec2 value); -ivec4 findLSB(uvec3 value); ivec4 findLSB(uvec4 value); int findMSB(int value); @@ -395,54 +353,18 @@ ivec2 findMSB(ivec2 value); ivec3 findMSB(ivec3 value); ivec4 findMSB(ivec4 value); int findMSB(uint value); -int findMSB(uvec2 value); -int findMSB(uvec3 value); -int findMSB(uvec4 value); -ivec2 findMSB(uint value); ivec2 findMSB(uvec2 value); -ivec2 findMSB(uvec3 value); -ivec2 findMSB(uvec4 value); -ivec3 findMSB(uint value); -ivec3 findMSB(uvec2 value); ivec3 findMSB(uvec3 value); -ivec3 findMSB(uvec4 value); -ivec4 findMSB(uint value); -ivec4 findMSB(uvec2 value); -ivec4 findMSB(uvec3 value); ivec4 findMSB(uvec4 value); int floatBitsToInt(float x); -int floatBitsToInt(vec2 x); -int floatBitsToInt(vec3 x); -int floatBitsToInt(vec4 x); -ivec2 floatBitsToInt(float x); ivec2 floatBitsToInt(vec2 x); -ivec2 floatBitsToInt(vec3 x); -ivec2 floatBitsToInt(vec4 x); -ivec3 floatBitsToInt(float x); -ivec3 floatBitsToInt(vec2 x); ivec3 floatBitsToInt(vec3 x); -ivec3 floatBitsToInt(vec4 x); -ivec4 floatBitsToInt(float x); -ivec4 floatBitsToInt(vec2 x); -ivec4 floatBitsToInt(vec3 x); ivec4 floatBitsToInt(vec4 x); uint floatBitsToUint(float x); -uint floatBitsToUint(vec2 x); -uint floatBitsToUint(vec3 x); -uint floatBitsToUint(vec4 x); -uvec2 floatBitsToUint(float x); uvec2 floatBitsToUint(vec2 x); -uvec2 floatBitsToUint(vec3 x); -uvec2 floatBitsToUint(vec4 x); -uvec3 floatBitsToUint(float x); -uvec3 floatBitsToUint(vec2 x); uvec3 floatBitsToUint(vec3 x); -uvec3 floatBitsToUint(vec4 x); -uvec4 floatBitsToUint(float x); -uvec4 floatBitsToUint(vec2 x); -uvec4 floatBitsToUint(vec3 x); uvec4 floatBitsToUint(vec4 x); float floor(float x); @@ -473,36 +395,12 @@ dvec3 fract(dvec3 x); dvec4 fract(dvec4 x); float frexp(float x, out int exp); -float frexp(float x, out ivec2 exp); -float frexp(float x, out ivec3 exp); -float frexp(float x, out ivec4 exp); -vec2 frexp(vec2 x, out int exp); vec2 frexp(vec2 x, out ivec2 exp); -vec2 frexp(vec2 x, out ivec3 exp); -vec2 frexp(vec2 x, out ivec4 exp); -vec3 frexp(vec3 x, out int exp); -vec3 frexp(vec3 x, out ivec2 exp); vec3 frexp(vec3 x, out ivec3 exp); -vec3 frexp(vec3 x, out ivec4 exp); -vec4 frexp(vec4 x, out int exp); -vec4 frexp(vec4 x, out ivec2 exp); -vec4 frexp(vec4 x, out ivec3 exp); vec4 frexp(vec4 x, out ivec4 exp); double frexp(double x, out int exp); -double frexp(double x, out ivec2 exp); -double frexp(double x, out ivec3 exp); -double frexp(double x, out ivec4 exp); -dvec2 frexp(dvec2 x, out int exp); dvec2 frexp(dvec2 x, out ivec2 exp); -dvec2 frexp(dvec2 x, out ivec3 exp); -dvec2 frexp(dvec2 x, out ivec4 exp); -dvec3 frexp(dvec3 x, out int exp); -dvec3 frexp(dvec3 x, out ivec2 exp); dvec3 frexp(dvec3 x, out ivec3 exp); -dvec3 frexp(dvec3 x, out ivec4 exp); -dvec4 frexp(dvec4 x, out int exp); -dvec4 frexp(dvec4 x, out ivec2 exp); -dvec4 frexp(dvec4 x, out ivec3 exp); dvec4 frexp(dvec4 x, out ivec4 exp); float fwidth(float p); @@ -521,968 +419,713 @@ vec3 fwidthFine(vec3 p); vec4 fwidthFine(vec4 p); bvec2 greaterThan(vec2 x, vec2 y); -bvec2 greaterThan(vec3 x, vec3 y); -bvec2 greaterThan(vec4 x, vec4 y); -bvec3 greaterThan(vec2 x, vec2 y); bvec3 greaterThan(vec3 x, vec3 y); -bvec3 greaterThan(vec4 x, vec4 y); -bvec4 greaterThan(vec2 x, vec2 y); -bvec4 greaterThan(vec3 x, vec3 y); bvec4 greaterThan(vec4 x, vec4 y); bvec2 greaterThan(ivec2 x, ivec2 y); -bvec2 greaterThan(ivec3 x, ivec3 y); -bvec2 greaterThan(ivec4 x, ivec4 y); -bvec3 greaterThan(ivec2 x, ivec2 y); bvec3 greaterThan(ivec3 x, ivec3 y); -bvec3 greaterThan(ivec4 x, ivec4 y); -bvec4 greaterThan(ivec2 x, ivec2 y); -bvec4 greaterThan(ivec3 x, ivec3 y); bvec4 greaterThan(ivec4 x, ivec4 y); bvec2 greaterThan(uvec2 x, uvec2 y); -bvec2 greaterThan(uvec3 x, uvec3 y); -bvec2 greaterThan(uvec4 x, uvec4 y); -bvec3 greaterThan(uvec2 x, uvec2 y); bvec3 greaterThan(uvec3 x, uvec3 y); -bvec3 greaterThan(uvec4 x, uvec4 y); -bvec4 greaterThan(uvec2 x, uvec2 y); -bvec4 greaterThan(uvec3 x, uvec3 y); bvec4 greaterThan(uvec4 x, uvec4 y); bvec2 greaterThanEqual(vec2 x, vec2 y); -bvec2 greaterThanEqual(vec3 x, vec3 y); -bvec2 greaterThanEqual(vec4 x, vec4 y); -bvec3 greaterThanEqual(vec2 x, vec2 y); bvec3 greaterThanEqual(vec3 x, vec3 y); -bvec3 greaterThanEqual(vec4 x, vec4 y); -bvec4 greaterThanEqual(vec2 x, vec2 y); -bvec4 greaterThanEqual(vec3 x, vec3 y); bvec4 greaterThanEqual(vec4 x, vec4 y); bvec2 greaterThanEqual(ivec2 x, ivec2 y); -bvec2 greaterThanEqual(ivec3 x, ivec3 y); -bvec2 greaterThanEqual(ivec4 x, ivec4 y); -bvec3 greaterThanEqual(ivec2 x, ivec2 y); bvec3 greaterThanEqual(ivec3 x, ivec3 y); -bvec3 greaterThanEqual(ivec4 x, ivec4 y); -bvec4 greaterThanEqual(ivec2 x, ivec2 y); -bvec4 greaterThanEqual(ivec3 x, ivec3 y); bvec4 greaterThanEqual(ivec4 x, ivec4 y); bvec2 greaterThanEqual(uvec2 x, uvec2 y); -bvec2 greaterThanEqual(uvec3 x, uvec3 y); -bvec2 greaterThanEqual(uvec4 x, uvec4 y); -bvec3 greaterThanEqual(uvec2 x, uvec2 y); bvec3 greaterThanEqual(uvec3 x, uvec3 y); -bvec3 greaterThanEqual(uvec4 x, uvec4 y); -bvec4 greaterThanEqual(uvec2 x, uvec2 y); -bvec4 greaterThanEqual(uvec3 x, uvec3 y); bvec4 greaterThanEqual(uvec4 x, uvec4 y); void groupMemoryBarrier(); uint imageAtomicAdd(image1D image, int P, uint data); -uint imageAtomicAdd(iimage1D image, int P, uint data); uint imageAtomicAdd(uimage1D image, int P, uint data); +uint imageAtomicAdd(iimage1D image, int P, uint data); uint imageAtomicAdd(image2D image, ivec2 P, uint data); -uint imageAtomicAdd(iimage2D image, ivec2 P, uint data); uint imageAtomicAdd(uimage2D image, ivec2 P, uint data); +uint imageAtomicAdd(iimage2D image, ivec2 P, uint data); uint imageAtomicAdd(image3D image, ivec3 P, uint data); -uint imageAtomicAdd(iimage3D image, ivec3 P, uint data); uint imageAtomicAdd(uimage3D image, ivec3 P, uint data); +uint imageAtomicAdd(iimage3D image, ivec3 P, uint data); uint imageAtomicAdd(image2DRect image, ivec2 P, uint data); -uint imageAtomicAdd(iimage2DRect image, ivec2 P, uint data); uint imageAtomicAdd(uimage2DRect image, ivec2 P, uint data); +uint imageAtomicAdd(iimage2DRect image, ivec2 P, uint data); uint imageAtomicAdd(imageCube image, ivec3 P, uint data); -uint imageAtomicAdd(iimageCube image, ivec3 P, uint data); uint imageAtomicAdd(uimageCube image, ivec3 P, uint data); +uint imageAtomicAdd(iimageCube image, ivec3 P, uint data); uint imageAtomicAdd(imageBuffer image, int P, uint data); -uint imageAtomicAdd(iimageBuffer image, int P, uint data); uint imageAtomicAdd(uimageBuffer image, int P, uint data); +uint imageAtomicAdd(iimageBuffer image, int P, uint data); uint imageAtomicAdd(image1DArray image, ivec2 P, uint data); -uint imageAtomicAdd(iimage1DArray image, ivec2 P, uint data); uint imageAtomicAdd(uimage1DArray image, ivec2 P, uint data); +uint imageAtomicAdd(iimage1DArray image, ivec2 P, uint data); uint imageAtomicAdd(image2DArray image, ivec3 P, uint data); -uint imageAtomicAdd(iimage2DArray image, ivec3 P, uint data); uint imageAtomicAdd(uimage2DArray image, ivec3 P, uint data); +uint imageAtomicAdd(iimage2DArray image, ivec3 P, uint data); uint imageAtomicAdd(imageCubeArray image, ivec3 P, uint data); -uint imageAtomicAdd(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicAdd(uimageCubeArray image, ivec3 P, uint data); +uint imageAtomicAdd(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicAdd(image2DMS image, ivec2 P, int sample_, uint data); -uint imageAtomicAdd(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicAdd(uimage2DMS image, ivec2 P, int sample_, uint data); +uint imageAtomicAdd(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicAdd(image2DMSArray image, ivec3 P, int sample_, uint data); -uint imageAtomicAdd(iimage2DMSArray image, ivec3 P, int sample_, uint data); uint imageAtomicAdd(uimage2DMSArray image, ivec3 P, int sample_, uint data); +uint imageAtomicAdd(iimage2DMSArray image, ivec3 P, int sample_, uint data); int imageAtomicAdd(image1D image, int P, int data); -int imageAtomicAdd(iimage1D image, int P, int data); int imageAtomicAdd(uimage1D image, int P, int data); +int imageAtomicAdd(iimage1D image, int P, int data); int imageAtomicAdd(image2D image, ivec2 P, int data); -int imageAtomicAdd(iimage2D image, ivec2 P, int data); int imageAtomicAdd(uimage2D image, ivec2 P, int data); +int imageAtomicAdd(iimage2D image, ivec2 P, int data); int imageAtomicAdd(image3D image, ivec3 P, int data); -int imageAtomicAdd(iimage3D image, ivec3 P, int data); int imageAtomicAdd(uimage3D image, ivec3 P, int data); +int imageAtomicAdd(iimage3D image, ivec3 P, int data); int imageAtomicAdd(image2DRect image, ivec2 P, int data); -int imageAtomicAdd(iimage2DRect image, ivec2 P, int data); int imageAtomicAdd(uimage2DRect image, ivec2 P, int data); +int imageAtomicAdd(iimage2DRect image, ivec2 P, int data); int imageAtomicAdd(imageCube image, ivec3 P, int data); -int imageAtomicAdd(iimageCube image, ivec3 P, int data); int imageAtomicAdd(uimageCube image, ivec3 P, int data); +int imageAtomicAdd(iimageCube image, ivec3 P, int data); int imageAtomicAdd(imageBuffer image, int P, int data); -int imageAtomicAdd(iimageBuffer image, int P, int data); int imageAtomicAdd(uimageBuffer image, int P, int data); +int imageAtomicAdd(iimageBuffer image, int P, int data); int imageAtomicAdd(image1DArray image, ivec2 P, int data); -int imageAtomicAdd(iimage1DArray image, ivec2 P, int data); int imageAtomicAdd(uimage1DArray image, ivec2 P, int data); +int imageAtomicAdd(iimage1DArray image, ivec2 P, int data); int imageAtomicAdd(image2DArray image, ivec3 P, int data); -int imageAtomicAdd(iimage2DArray image, ivec3 P, int data); int imageAtomicAdd(uimage2DArray image, ivec3 P, int data); +int imageAtomicAdd(iimage2DArray image, ivec3 P, int data); int imageAtomicAdd(imageCubeArray image, ivec3 P, int data); -int imageAtomicAdd(iimageCubeArray image, ivec3 P, int data); int imageAtomicAdd(uimageCubeArray image, ivec3 P, int data); +int imageAtomicAdd(iimageCubeArray image, ivec3 P, int data); int imageAtomicAdd(image2DMS image, ivec2 P, int sample_, int data); -int imageAtomicAdd(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicAdd(uimage2DMS image, ivec2 P, int sample_, int data); +int imageAtomicAdd(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicAdd(image2DMSArray image, ivec3 P, int sample_, int data); -int imageAtomicAdd(iimage2DMSArray image, ivec3 P, int sample_, int data); int imageAtomicAdd(uimage2DMSArray image, ivec3 P, int sample_, int data); +int imageAtomicAdd(iimage2DMSArray image, ivec3 P, int sample_, int data); uint imageAtomicAnd(image1D image, int P, uint data); -uint imageAtomicAnd(iimage1D image, int P, uint data); uint imageAtomicAnd(uimage1D image, int P, uint data); +uint imageAtomicAnd(iimage1D image, int P, uint data); uint imageAtomicAnd(image2D image, ivec2 P, uint data); -uint imageAtomicAnd(iimage2D image, ivec2 P, uint data); uint imageAtomicAnd(uimage2D image, ivec2 P, uint data); +uint imageAtomicAnd(iimage2D image, ivec2 P, uint data); uint imageAtomicAnd(image3D image, ivec3 P, uint data); -uint imageAtomicAnd(iimage3D image, ivec3 P, uint data); uint imageAtomicAnd(uimage3D image, ivec3 P, uint data); +uint imageAtomicAnd(iimage3D image, ivec3 P, uint data); uint imageAtomicAnd(image2DRect image, ivec2 P, uint data); -uint imageAtomicAnd(iimage2DRect image, ivec2 P, uint data); uint imageAtomicAnd(uimage2DRect image, ivec2 P, uint data); +uint imageAtomicAnd(iimage2DRect image, ivec2 P, uint data); uint imageAtomicAnd(imageCube image, ivec3 P, uint data); -uint imageAtomicAnd(iimageCube image, ivec3 P, uint data); uint imageAtomicAnd(uimageCube image, ivec3 P, uint data); +uint imageAtomicAnd(iimageCube image, ivec3 P, uint data); uint imageAtomicAnd(imageBuffer image, int P, uint data); -uint imageAtomicAnd(iimageBuffer image, int P, uint data); uint imageAtomicAnd(uimageBuffer image, int P, uint data); +uint imageAtomicAnd(iimageBuffer image, int P, uint data); uint imageAtomicAnd(image1DArray image, ivec2 P, uint data); -uint imageAtomicAnd(iimage1DArray image, ivec2 P, uint data); uint imageAtomicAnd(uimage1DArray image, ivec2 P, uint data); +uint imageAtomicAnd(iimage1DArray image, ivec2 P, uint data); uint imageAtomicAnd(image2DArray image, ivec3 P, uint data); -uint imageAtomicAnd(iimage2DArray image, ivec3 P, uint data); uint imageAtomicAnd(uimage2DArray image, ivec3 P, uint data); +uint imageAtomicAnd(iimage2DArray image, ivec3 P, uint data); uint imageAtomicAnd(imageCubeArray image, ivec3 P, uint data); -uint imageAtomicAnd(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicAnd(uimageCubeArray image, ivec3 P, uint data); +uint imageAtomicAnd(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicAnd(image2DMS image, ivec2 P, int sample_, uint data); -uint imageAtomicAnd(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicAnd(uimage2DMS image, ivec2 P, int sample_, uint data); +uint imageAtomicAnd(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicAnd(image2DMSArray image, ivec3 P, int sample_, uint data); -uint imageAtomicAnd(iimage2DMSArray image, ivec3 P, int sample_, uint data); uint imageAtomicAnd(uimage2DMSArray image, ivec3 P, int sample_, uint data); +uint imageAtomicAnd(iimage2DMSArray image, ivec3 P, int sample_, uint data); int imageAtomicAnd(image1D image, int P, int data); -int imageAtomicAnd(iimage1D image, int P, int data); int imageAtomicAnd(uimage1D image, int P, int data); +int imageAtomicAnd(iimage1D image, int P, int data); int imageAtomicAnd(image2D image, ivec2 P, int data); -int imageAtomicAnd(iimage2D image, ivec2 P, int data); int imageAtomicAnd(uimage2D image, ivec2 P, int data); +int imageAtomicAnd(iimage2D image, ivec2 P, int data); int imageAtomicAnd(image3D image, ivec3 P, int data); -int imageAtomicAnd(iimage3D image, ivec3 P, int data); int imageAtomicAnd(uimage3D image, ivec3 P, int data); +int imageAtomicAnd(iimage3D image, ivec3 P, int data); int imageAtomicAnd(image2DRect image, ivec2 P, int data); -int imageAtomicAnd(iimage2DRect image, ivec2 P, int data); int imageAtomicAnd(uimage2DRect image, ivec2 P, int data); +int imageAtomicAnd(iimage2DRect image, ivec2 P, int data); int imageAtomicAnd(imageCube image, ivec3 P, int data); -int imageAtomicAnd(iimageCube image, ivec3 P, int data); int imageAtomicAnd(uimageCube image, ivec3 P, int data); +int imageAtomicAnd(iimageCube image, ivec3 P, int data); int imageAtomicAnd(imageBuffer image, int P, int data); -int imageAtomicAnd(iimageBuffer image, int P, int data); int imageAtomicAnd(uimageBuffer image, int P, int data); +int imageAtomicAnd(iimageBuffer image, int P, int data); int imageAtomicAnd(image1DArray image, ivec2 P, int data); -int imageAtomicAnd(iimage1DArray image, ivec2 P, int data); int imageAtomicAnd(uimage1DArray image, ivec2 P, int data); +int imageAtomicAnd(iimage1DArray image, ivec2 P, int data); int imageAtomicAnd(image2DArray image, ivec3 P, int data); -int imageAtomicAnd(iimage2DArray image, ivec3 P, int data); int imageAtomicAnd(uimage2DArray image, ivec3 P, int data); +int imageAtomicAnd(iimage2DArray image, ivec3 P, int data); int imageAtomicAnd(imageCubeArray image, ivec3 P, int data); -int imageAtomicAnd(iimageCubeArray image, ivec3 P, int data); int imageAtomicAnd(uimageCubeArray image, ivec3 P, int data); +int imageAtomicAnd(iimageCubeArray image, ivec3 P, int data); int imageAtomicAnd(image2DMS image, ivec2 P, int sample_, int data); -int imageAtomicAnd(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicAnd(uimage2DMS image, ivec2 P, int sample_, int data); +int imageAtomicAnd(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicAnd(image2DMSArray image, ivec3 P, int sample_, int data); -int imageAtomicAnd(iimage2DMSArray image, ivec3 P, int sample_, int data); int imageAtomicAnd(uimage2DMSArray image, ivec3 P, int sample_, int data); +int imageAtomicAnd(iimage2DMSArray image, ivec3 P, int sample_, int data); uint imageAtomicCompSwap(image1D image, int P, uint compare, uint data); -uint imageAtomicCompSwap(iimage1D image, int P, uint compare, uint data); uint imageAtomicCompSwap(uimage1D image, int P, uint compare, uint data); +uint imageAtomicCompSwap(iimage1D image, int P, uint compare, uint data); uint imageAtomicCompSwap(image2D image, ivec2 P, uint compare, uint data); -uint imageAtomicCompSwap(iimage2D image, ivec2 P, uint compare, uint data); uint imageAtomicCompSwap(uimage2D image, ivec2 P, uint compare, uint data); +uint imageAtomicCompSwap(iimage2D image, ivec2 P, uint compare, uint data); uint imageAtomicCompSwap(image3D image, ivec3 P, uint compare, uint data); -uint imageAtomicCompSwap(iimage3D image, ivec3 P, uint compare, uint data); uint imageAtomicCompSwap(uimage3D image, ivec3 P, uint compare, uint data); +uint imageAtomicCompSwap(iimage3D image, ivec3 P, uint compare, uint data); uint imageAtomicCompSwap(image2DRect image, ivec2 P, uint compare, uint data); -uint imageAtomicCompSwap(iimage2DRect image, ivec2 P, uint compare, uint data); uint imageAtomicCompSwap(uimage2DRect image, ivec2 P, uint compare, uint data); +uint imageAtomicCompSwap(iimage2DRect image, ivec2 P, uint compare, uint data); uint imageAtomicCompSwap(imageCube image, ivec3 P, uint compare, uint data); -uint imageAtomicCompSwap(iimageCube image, ivec3 P, uint compare, uint data); uint imageAtomicCompSwap(uimageCube image, ivec3 P, uint compare, uint data); +uint imageAtomicCompSwap(iimageCube image, ivec3 P, uint compare, uint data); uint imageAtomicCompSwap(imageBuffer image, int P, uint compare, uint data); -uint imageAtomicCompSwap(iimageBuffer image, int P, uint compare, uint data); uint imageAtomicCompSwap(uimageBuffer image, int P, uint compare, uint data); +uint imageAtomicCompSwap(iimageBuffer image, int P, uint compare, uint data); uint imageAtomicCompSwap(image1DArray image, ivec2 P, uint compare, uint data); -uint imageAtomicCompSwap(iimage1DArray image, ivec2 P, uint compare, uint data); uint imageAtomicCompSwap(uimage1DArray image, ivec2 P, uint compare, uint data); +uint imageAtomicCompSwap(iimage1DArray image, ivec2 P, uint compare, uint data); uint imageAtomicCompSwap(image2DArray image, ivec3 P, uint compare, uint data); -uint imageAtomicCompSwap(iimage2DArray image, ivec3 P, uint compare, uint data); uint imageAtomicCompSwap(uimage2DArray image, ivec3 P, uint compare, uint data); +uint imageAtomicCompSwap(iimage2DArray image, ivec3 P, uint compare, uint data); uint imageAtomicCompSwap(imageCubeArray image, ivec3 P, uint compare, uint data); -uint imageAtomicCompSwap(iimageCubeArray image, ivec3 P, uint compare, uint data); uint imageAtomicCompSwap(uimageCubeArray image, ivec3 P, uint compare, uint data); +uint imageAtomicCompSwap(iimageCubeArray image, ivec3 P, uint compare, uint data); uint imageAtomicCompSwap(image2DMS image, ivec2 P, int sample_, uint compare, uint data); -uint imageAtomicCompSwap(iimage2DMS image, ivec2 P, int sample_, uint compare, uint data); uint imageAtomicCompSwap(uimage2DMS image, ivec2 P, int sample_, uint compare, uint data); +uint imageAtomicCompSwap(iimage2DMS image, ivec2 P, int sample_, uint compare, uint data); uint imageAtomicCompSwap(image2DMSArray image, ivec3 P, int sample_, uint compare, uint data); -uint imageAtomicCompSwap(iimage2DMSArray image, ivec3 P, int sample_, uint compare, uint data); uint imageAtomicCompSwap(uimage2DMSArray image, ivec3 P, int sample_, uint compare, uint data); +uint imageAtomicCompSwap(iimage2DMSArray image, ivec3 P, int sample_, uint compare, uint data); int imageAtomicCompSwap(image1D image, int P, int compare, int data); -int imageAtomicCompSwap(iimage1D image, int P, int compare, int data); int imageAtomicCompSwap(uimage1D image, int P, int compare, int data); +int imageAtomicCompSwap(iimage1D image, int P, int compare, int data); int imageAtomicCompSwap(image2D image, ivec2 P, int compare, int data); -int imageAtomicCompSwap(iimage2D image, ivec2 P, int compare, int data); int imageAtomicCompSwap(uimage2D image, ivec2 P, int compare, int data); +int imageAtomicCompSwap(iimage2D image, ivec2 P, int compare, int data); int imageAtomicCompSwap(image3D image, ivec3 P, int compare, int data); -int imageAtomicCompSwap(iimage3D image, ivec3 P, int compare, int data); int imageAtomicCompSwap(uimage3D image, ivec3 P, int compare, int data); +int imageAtomicCompSwap(iimage3D image, ivec3 P, int compare, int data); int imageAtomicCompSwap(image2DRect image, ivec2 P, int compare, int data); -int imageAtomicCompSwap(iimage2DRect image, ivec2 P, int compare, int data); int imageAtomicCompSwap(uimage2DRect image, ivec2 P, int compare, int data); +int imageAtomicCompSwap(iimage2DRect image, ivec2 P, int compare, int data); int imageAtomicCompSwap(imageCube image, ivec3 P, int compare, int data); -int imageAtomicCompSwap(iimageCube image, ivec3 P, int compare, int data); int imageAtomicCompSwap(uimageCube image, ivec3 P, int compare, int data); +int imageAtomicCompSwap(iimageCube image, ivec3 P, int compare, int data); int imageAtomicCompSwap(imageBuffer image, int P, int compare, int data); -int imageAtomicCompSwap(iimageBuffer image, int P, int compare, int data); int imageAtomicCompSwap(uimageBuffer image, int P, int compare, int data); +int imageAtomicCompSwap(iimageBuffer image, int P, int compare, int data); int imageAtomicCompSwap(image1DArray image, ivec2 P, int compare, int data); -int imageAtomicCompSwap(iimage1DArray image, ivec2 P, int compare, int data); int imageAtomicCompSwap(uimage1DArray image, ivec2 P, int compare, int data); +int imageAtomicCompSwap(iimage1DArray image, ivec2 P, int compare, int data); int imageAtomicCompSwap(image2DArray image, ivec3 P, int compare, int data); -int imageAtomicCompSwap(iimage2DArray image, ivec3 P, int compare, int data); int imageAtomicCompSwap(uimage2DArray image, ivec3 P, int compare, int data); +int imageAtomicCompSwap(iimage2DArray image, ivec3 P, int compare, int data); int imageAtomicCompSwap(imageCubeArray image, ivec3 P, int compare, int data); -int imageAtomicCompSwap(iimageCubeArray image, ivec3 P, int compare, int data); int imageAtomicCompSwap(uimageCubeArray image, ivec3 P, int compare, int data); +int imageAtomicCompSwap(iimageCubeArray image, ivec3 P, int compare, int data); int imageAtomicCompSwap(image2DMS image, ivec2 P, int sample_, int compare, int data); -int imageAtomicCompSwap(iimage2DMS image, ivec2 P, int sample_, int compare, int data); int imageAtomicCompSwap(uimage2DMS image, ivec2 P, int sample_, int compare, int data); +int imageAtomicCompSwap(iimage2DMS image, ivec2 P, int sample_, int compare, int data); int imageAtomicCompSwap(image2DMSArray image, ivec3 P, int sample_, int compare, int data); -int imageAtomicCompSwap(iimage2DMSArray image, ivec3 P, int sample_, int compare, int data); int imageAtomicCompSwap(uimage2DMSArray image, ivec3 P, int sample_, int compare, int data); +int imageAtomicCompSwap(iimage2DMSArray image, ivec3 P, int sample_, int compare, int data); uint imageAtomicExchange(image1D image, int P, uint data); -uint imageAtomicExchange(iimage1D image, int P, uint data); uint imageAtomicExchange(uimage1D image, int P, uint data); +uint imageAtomicExchange(iimage1D image, int P, uint data); uint imageAtomicExchange(image2D image, ivec2 P, uint data); -uint imageAtomicExchange(iimage2D image, ivec2 P, uint data); uint imageAtomicExchange(uimage2D image, ivec2 P, uint data); +uint imageAtomicExchange(iimage2D image, ivec2 P, uint data); uint imageAtomicExchange(image3D image, ivec3 P, uint data); -uint imageAtomicExchange(iimage3D image, ivec3 P, uint data); uint imageAtomicExchange(uimage3D image, ivec3 P, uint data); +uint imageAtomicExchange(iimage3D image, ivec3 P, uint data); uint imageAtomicExchange(image2DRect image, ivec2 P, uint data); -uint imageAtomicExchange(iimage2DRect image, ivec2 P, uint data); uint imageAtomicExchange(uimage2DRect image, ivec2 P, uint data); +uint imageAtomicExchange(iimage2DRect image, ivec2 P, uint data); uint imageAtomicExchange(imageCube image, ivec3 P, uint data); -uint imageAtomicExchange(iimageCube image, ivec3 P, uint data); uint imageAtomicExchange(uimageCube image, ivec3 P, uint data); +uint imageAtomicExchange(iimageCube image, ivec3 P, uint data); uint imageAtomicExchange(imageBuffer image, int P, uint data); -uint imageAtomicExchange(iimageBuffer image, int P, uint data); uint imageAtomicExchange(uimageBuffer image, int P, uint data); +uint imageAtomicExchange(iimageBuffer image, int P, uint data); uint imageAtomicExchange(image1DArray image, ivec2 P, uint data); -uint imageAtomicExchange(iimage1DArray image, ivec2 P, uint data); uint imageAtomicExchange(uimage1DArray image, ivec2 P, uint data); +uint imageAtomicExchange(iimage1DArray image, ivec2 P, uint data); uint imageAtomicExchange(image2DArray image, ivec3 P, uint data); -uint imageAtomicExchange(iimage2DArray image, ivec3 P, uint data); uint imageAtomicExchange(uimage2DArray image, ivec3 P, uint data); +uint imageAtomicExchange(iimage2DArray image, ivec3 P, uint data); uint imageAtomicExchange(imageCubeArray image, ivec3 P, uint data); -uint imageAtomicExchange(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicExchange(uimageCubeArray image, ivec3 P, uint data); +uint imageAtomicExchange(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicExchange(image2DMS image, ivec2 P, int sample_, uint data); -uint imageAtomicExchange(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicExchange(uimage2DMS image, ivec2 P, int sample_, uint data); +uint imageAtomicExchange(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicExchange(image2DMSArray image, ivec3 P, int sample_, uint data); -uint imageAtomicExchange(iimage2DMSArray image, ivec3 P, int sample_, uint data); uint imageAtomicExchange(uimage2DMSArray image, ivec3 P, int sample_, uint data); +uint imageAtomicExchange(iimage2DMSArray image, ivec3 P, int sample_, uint data); int imageAtomicExchange(image1D image, int P, int data); -int imageAtomicExchange(iimage1D image, int P, int data); int imageAtomicExchange(uimage1D image, int P, int data); +int imageAtomicExchange(iimage1D image, int P, int data); int imageAtomicExchange(image2D image, ivec2 P, int data); -int imageAtomicExchange(iimage2D image, ivec2 P, int data); int imageAtomicExchange(uimage2D image, ivec2 P, int data); +int imageAtomicExchange(iimage2D image, ivec2 P, int data); int imageAtomicExchange(image3D image, ivec3 P, int data); -int imageAtomicExchange(iimage3D image, ivec3 P, int data); int imageAtomicExchange(uimage3D image, ivec3 P, int data); +int imageAtomicExchange(iimage3D image, ivec3 P, int data); int imageAtomicExchange(image2DRect image, ivec2 P, int data); -int imageAtomicExchange(iimage2DRect image, ivec2 P, int data); int imageAtomicExchange(uimage2DRect image, ivec2 P, int data); +int imageAtomicExchange(iimage2DRect image, ivec2 P, int data); int imageAtomicExchange(imageCube image, ivec3 P, int data); -int imageAtomicExchange(iimageCube image, ivec3 P, int data); int imageAtomicExchange(uimageCube image, ivec3 P, int data); +int imageAtomicExchange(iimageCube image, ivec3 P, int data); int imageAtomicExchange(imageBuffer image, int P, int data); -int imageAtomicExchange(iimageBuffer image, int P, int data); int imageAtomicExchange(uimageBuffer image, int P, int data); +int imageAtomicExchange(iimageBuffer image, int P, int data); int imageAtomicExchange(image1DArray image, ivec2 P, int data); -int imageAtomicExchange(iimage1DArray image, ivec2 P, int data); int imageAtomicExchange(uimage1DArray image, ivec2 P, int data); +int imageAtomicExchange(iimage1DArray image, ivec2 P, int data); int imageAtomicExchange(image2DArray image, ivec3 P, int data); -int imageAtomicExchange(iimage2DArray image, ivec3 P, int data); int imageAtomicExchange(uimage2DArray image, ivec3 P, int data); +int imageAtomicExchange(iimage2DArray image, ivec3 P, int data); int imageAtomicExchange(imageCubeArray image, ivec3 P, int data); -int imageAtomicExchange(iimageCubeArray image, ivec3 P, int data); int imageAtomicExchange(uimageCubeArray image, ivec3 P, int data); +int imageAtomicExchange(iimageCubeArray image, ivec3 P, int data); int imageAtomicExchange(image2DMS image, ivec2 P, int sample_, int data); -int imageAtomicExchange(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicExchange(uimage2DMS image, ivec2 P, int sample_, int data); +int imageAtomicExchange(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicExchange(image2DMSArray image, ivec3 P, int sample_, int data); -int imageAtomicExchange(iimage2DMSArray image, ivec3 P, int sample_, int data); int imageAtomicExchange(uimage2DMSArray image, ivec3 P, int sample_, int data); +int imageAtomicExchange(iimage2DMSArray image, ivec3 P, int sample_, int data); int imageAtomicExchange(image1D image, int P, float data); -int imageAtomicExchange(iimage1D image, int P, float data); int imageAtomicExchange(uimage1D image, int P, float data); +int imageAtomicExchange(iimage1D image, int P, float data); int imageAtomicExchange(image2D image, ivec2 P, float data); -int imageAtomicExchange(iimage2D image, ivec2 P, float data); int imageAtomicExchange(uimage2D image, ivec2 P, float data); +int imageAtomicExchange(iimage2D image, ivec2 P, float data); int imageAtomicExchange(image3D image, ivec3 P, float data); -int imageAtomicExchange(iimage3D image, ivec3 P, float data); int imageAtomicExchange(uimage3D image, ivec3 P, float data); +int imageAtomicExchange(iimage3D image, ivec3 P, float data); int imageAtomicExchange(image2DRect image, ivec2 P, float data); -int imageAtomicExchange(iimage2DRect image, ivec2 P, float data); int imageAtomicExchange(uimage2DRect image, ivec2 P, float data); +int imageAtomicExchange(iimage2DRect image, ivec2 P, float data); int imageAtomicExchange(imageCube image, ivec3 P, float data); -int imageAtomicExchange(iimageCube image, ivec3 P, float data); int imageAtomicExchange(uimageCube image, ivec3 P, float data); +int imageAtomicExchange(iimageCube image, ivec3 P, float data); int imageAtomicExchange(imageBuffer image, int P, float data); -int imageAtomicExchange(iimageBuffer image, int P, float data); int imageAtomicExchange(uimageBuffer image, int P, float data); +int imageAtomicExchange(iimageBuffer image, int P, float data); int imageAtomicExchange(image1DArray image, ivec2 P, float data); -int imageAtomicExchange(iimage1DArray image, ivec2 P, float data); int imageAtomicExchange(uimage1DArray image, ivec2 P, float data); +int imageAtomicExchange(iimage1DArray image, ivec2 P, float data); int imageAtomicExchange(image2DArray image, ivec3 P, float data); -int imageAtomicExchange(iimage2DArray image, ivec3 P, float data); int imageAtomicExchange(uimage2DArray image, ivec3 P, float data); +int imageAtomicExchange(iimage2DArray image, ivec3 P, float data); int imageAtomicExchange(imageCubeArray image, ivec3 P, float data); -int imageAtomicExchange(iimageCubeArray image, ivec3 P, float data); int imageAtomicExchange(uimageCubeArray image, ivec3 P, float data); +int imageAtomicExchange(iimageCubeArray image, ivec3 P, float data); int imageAtomicExchange(image2DMS image, ivec2 P, int sample_, float data); -int imageAtomicExchange(iimage2DMS image, ivec2 P, int sample_, float data); int imageAtomicExchange(uimage2DMS image, ivec2 P, int sample_, float data); +int imageAtomicExchange(iimage2DMS image, ivec2 P, int sample_, float data); int imageAtomicExchange(image2DMSArray image, ivec3 P, int sample_, float data); -int imageAtomicExchange(iimage2DMSArray image, ivec3 P, int sample_, float data); int imageAtomicExchange(uimage2DMSArray image, ivec3 P, int sample_, float data); +int imageAtomicExchange(iimage2DMSArray image, ivec3 P, int sample_, float data); uint imageAtomicMax(image1D image, int P, uint data); -uint imageAtomicMax(iimage1D image, int P, uint data); uint imageAtomicMax(uimage1D image, int P, uint data); +uint imageAtomicMax(iimage1D image, int P, uint data); uint imageAtomicMax(image2D image, ivec2 P, uint data); -uint imageAtomicMax(iimage2D image, ivec2 P, uint data); uint imageAtomicMax(uimage2D image, ivec2 P, uint data); +uint imageAtomicMax(iimage2D image, ivec2 P, uint data); uint imageAtomicMax(image3D image, ivec3 P, uint data); -uint imageAtomicMax(iimage3D image, ivec3 P, uint data); uint imageAtomicMax(uimage3D image, ivec3 P, uint data); +uint imageAtomicMax(iimage3D image, ivec3 P, uint data); uint imageAtomicMax(image2DRect image, ivec2 P, uint data); -uint imageAtomicMax(iimage2DRect image, ivec2 P, uint data); uint imageAtomicMax(uimage2DRect image, ivec2 P, uint data); +uint imageAtomicMax(iimage2DRect image, ivec2 P, uint data); uint imageAtomicMax(imageCube image, ivec3 P, uint data); -uint imageAtomicMax(iimageCube image, ivec3 P, uint data); uint imageAtomicMax(uimageCube image, ivec3 P, uint data); +uint imageAtomicMax(iimageCube image, ivec3 P, uint data); uint imageAtomicMax(imageBuffer image, int P, uint data); -uint imageAtomicMax(iimageBuffer image, int P, uint data); uint imageAtomicMax(uimageBuffer image, int P, uint data); +uint imageAtomicMax(iimageBuffer image, int P, uint data); uint imageAtomicMax(image1DArray image, ivec2 P, uint data); -uint imageAtomicMax(iimage1DArray image, ivec2 P, uint data); uint imageAtomicMax(uimage1DArray image, ivec2 P, uint data); +uint imageAtomicMax(iimage1DArray image, ivec2 P, uint data); uint imageAtomicMax(image2DArray image, ivec3 P, uint data); -uint imageAtomicMax(iimage2DArray image, ivec3 P, uint data); uint imageAtomicMax(uimage2DArray image, ivec3 P, uint data); +uint imageAtomicMax(iimage2DArray image, ivec3 P, uint data); uint imageAtomicMax(imageCubeArray image, ivec3 P, uint data); -uint imageAtomicMax(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicMax(uimageCubeArray image, ivec3 P, uint data); +uint imageAtomicMax(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicMax(image2DMS image, ivec2 P, int sample_, uint data); -uint imageAtomicMax(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicMax(uimage2DMS image, ivec2 P, int sample_, uint data); +uint imageAtomicMax(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicMax(image2DMSArray image, ivec3 P, int sample_, uint data); -uint imageAtomicMax(iimage2DMSArray image, ivec3 P, int sample_, uint data); uint imageAtomicMax(uimage2DMSArray image, ivec3 P, int sample_, uint data); +uint imageAtomicMax(iimage2DMSArray image, ivec3 P, int sample_, uint data); int imageAtomicMax(image1D image, int P, int data); -int imageAtomicMax(iimage1D image, int P, int data); int imageAtomicMax(uimage1D image, int P, int data); +int imageAtomicMax(iimage1D image, int P, int data); int imageAtomicMax(image2D image, ivec2 P, int data); -int imageAtomicMax(iimage2D image, ivec2 P, int data); int imageAtomicMax(uimage2D image, ivec2 P, int data); +int imageAtomicMax(iimage2D image, ivec2 P, int data); int imageAtomicMax(image3D image, ivec3 P, int data); -int imageAtomicMax(iimage3D image, ivec3 P, int data); int imageAtomicMax(uimage3D image, ivec3 P, int data); +int imageAtomicMax(iimage3D image, ivec3 P, int data); int imageAtomicMax(image2DRect image, ivec2 P, int data); -int imageAtomicMax(iimage2DRect image, ivec2 P, int data); int imageAtomicMax(uimage2DRect image, ivec2 P, int data); +int imageAtomicMax(iimage2DRect image, ivec2 P, int data); int imageAtomicMax(imageCube image, ivec3 P, int data); -int imageAtomicMax(iimageCube image, ivec3 P, int data); int imageAtomicMax(uimageCube image, ivec3 P, int data); +int imageAtomicMax(iimageCube image, ivec3 P, int data); int imageAtomicMax(imageBuffer image, int P, int data); -int imageAtomicMax(iimageBuffer image, int P, int data); int imageAtomicMax(uimageBuffer image, int P, int data); +int imageAtomicMax(iimageBuffer image, int P, int data); int imageAtomicMax(image1DArray image, ivec2 P, int data); -int imageAtomicMax(iimage1DArray image, ivec2 P, int data); int imageAtomicMax(uimage1DArray image, ivec2 P, int data); +int imageAtomicMax(iimage1DArray image, ivec2 P, int data); int imageAtomicMax(image2DArray image, ivec3 P, int data); -int imageAtomicMax(iimage2DArray image, ivec3 P, int data); int imageAtomicMax(uimage2DArray image, ivec3 P, int data); +int imageAtomicMax(iimage2DArray image, ivec3 P, int data); int imageAtomicMax(imageCubeArray image, ivec3 P, int data); -int imageAtomicMax(iimageCubeArray image, ivec3 P, int data); int imageAtomicMax(uimageCubeArray image, ivec3 P, int data); +int imageAtomicMax(iimageCubeArray image, ivec3 P, int data); int imageAtomicMax(image2DMS image, ivec2 P, int sample_, int data); -int imageAtomicMax(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicMax(uimage2DMS image, ivec2 P, int sample_, int data); +int imageAtomicMax(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicMax(image2DMSArray image, ivec3 P, int sample_, int data); -int imageAtomicMax(iimage2DMSArray image, ivec3 P, int sample_, int data); int imageAtomicMax(uimage2DMSArray image, ivec3 P, int sample_, int data); +int imageAtomicMax(iimage2DMSArray image, ivec3 P, int sample_, int data); uint imageAtomicMin(image1D image, int P, uint data); -uint imageAtomicMin(iimage1D image, int P, uint data); uint imageAtomicMin(uimage1D image, int P, uint data); +uint imageAtomicMin(iimage1D image, int P, uint data); uint imageAtomicMin(image2D image, ivec2 P, uint data); -uint imageAtomicMin(iimage2D image, ivec2 P, uint data); uint imageAtomicMin(uimage2D image, ivec2 P, uint data); +uint imageAtomicMin(iimage2D image, ivec2 P, uint data); uint imageAtomicMin(image3D image, ivec3 P, uint data); -uint imageAtomicMin(iimage3D image, ivec3 P, uint data); uint imageAtomicMin(uimage3D image, ivec3 P, uint data); +uint imageAtomicMin(iimage3D image, ivec3 P, uint data); uint imageAtomicMin(image2DRect image, ivec2 P, uint data); -uint imageAtomicMin(iimage2DRect image, ivec2 P, uint data); uint imageAtomicMin(uimage2DRect image, ivec2 P, uint data); +uint imageAtomicMin(iimage2DRect image, ivec2 P, uint data); uint imageAtomicMin(imageCube image, ivec3 P, uint data); -uint imageAtomicMin(iimageCube image, ivec3 P, uint data); uint imageAtomicMin(uimageCube image, ivec3 P, uint data); +uint imageAtomicMin(iimageCube image, ivec3 P, uint data); uint imageAtomicMin(imageBuffer image, int P, uint data); -uint imageAtomicMin(iimageBuffer image, int P, uint data); uint imageAtomicMin(uimageBuffer image, int P, uint data); +uint imageAtomicMin(iimageBuffer image, int P, uint data); uint imageAtomicMin(image1DArray image, ivec2 P, uint data); -uint imageAtomicMin(iimage1DArray image, ivec2 P, uint data); uint imageAtomicMin(uimage1DArray image, ivec2 P, uint data); +uint imageAtomicMin(iimage1DArray image, ivec2 P, uint data); uint imageAtomicMin(image2DArray image, ivec3 P, uint data); -uint imageAtomicMin(iimage2DArray image, ivec3 P, uint data); uint imageAtomicMin(uimage2DArray image, ivec3 P, uint data); +uint imageAtomicMin(iimage2DArray image, ivec3 P, uint data); uint imageAtomicMin(imageCubeArray image, ivec3 P, uint data); -uint imageAtomicMin(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicMin(uimageCubeArray image, ivec3 P, uint data); +uint imageAtomicMin(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicMin(image2DMS image, ivec2 P, int sample_, uint data); -uint imageAtomicMin(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicMin(uimage2DMS image, ivec2 P, int sample_, uint data); +uint imageAtomicMin(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicMin(image2DMSArray image, ivec3 P, int sample_, uint data); -uint imageAtomicMin(iimage2DMSArray image, ivec3 P, int sample_, uint data); uint imageAtomicMin(uimage2DMSArray image, ivec3 P, int sample_, uint data); +uint imageAtomicMin(iimage2DMSArray image, ivec3 P, int sample_, uint data); int imageAtomicMin(image1D image, int P, int data); -int imageAtomicMin(iimage1D image, int P, int data); int imageAtomicMin(uimage1D image, int P, int data); +int imageAtomicMin(iimage1D image, int P, int data); int imageAtomicMin(image2D image, ivec2 P, int data); -int imageAtomicMin(iimage2D image, ivec2 P, int data); int imageAtomicMin(uimage2D image, ivec2 P, int data); +int imageAtomicMin(iimage2D image, ivec2 P, int data); int imageAtomicMin(image3D image, ivec3 P, int data); -int imageAtomicMin(iimage3D image, ivec3 P, int data); int imageAtomicMin(uimage3D image, ivec3 P, int data); +int imageAtomicMin(iimage3D image, ivec3 P, int data); int imageAtomicMin(image2DRect image, ivec2 P, int data); -int imageAtomicMin(iimage2DRect image, ivec2 P, int data); int imageAtomicMin(uimage2DRect image, ivec2 P, int data); +int imageAtomicMin(iimage2DRect image, ivec2 P, int data); int imageAtomicMin(imageCube image, ivec3 P, int data); -int imageAtomicMin(iimageCube image, ivec3 P, int data); int imageAtomicMin(uimageCube image, ivec3 P, int data); +int imageAtomicMin(iimageCube image, ivec3 P, int data); int imageAtomicMin(imageBuffer image, int P, int data); -int imageAtomicMin(iimageBuffer image, int P, int data); int imageAtomicMin(uimageBuffer image, int P, int data); +int imageAtomicMin(iimageBuffer image, int P, int data); int imageAtomicMin(image1DArray image, ivec2 P, int data); -int imageAtomicMin(iimage1DArray image, ivec2 P, int data); int imageAtomicMin(uimage1DArray image, ivec2 P, int data); +int imageAtomicMin(iimage1DArray image, ivec2 P, int data); int imageAtomicMin(image2DArray image, ivec3 P, int data); -int imageAtomicMin(iimage2DArray image, ivec3 P, int data); int imageAtomicMin(uimage2DArray image, ivec3 P, int data); +int imageAtomicMin(iimage2DArray image, ivec3 P, int data); int imageAtomicMin(imageCubeArray image, ivec3 P, int data); -int imageAtomicMin(iimageCubeArray image, ivec3 P, int data); int imageAtomicMin(uimageCubeArray image, ivec3 P, int data); +int imageAtomicMin(iimageCubeArray image, ivec3 P, int data); int imageAtomicMin(image2DMS image, ivec2 P, int sample_, int data); -int imageAtomicMin(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicMin(uimage2DMS image, ivec2 P, int sample_, int data); +int imageAtomicMin(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicMin(image2DMSArray image, ivec3 P, int sample_, int data); -int imageAtomicMin(iimage2DMSArray image, ivec3 P, int sample_, int data); int imageAtomicMin(uimage2DMSArray image, ivec3 P, int sample_, int data); +int imageAtomicMin(iimage2DMSArray image, ivec3 P, int sample_, int data); uint imageAtomicOr(image1D image, int P, uint data); -uint imageAtomicOr(iimage1D image, int P, uint data); uint imageAtomicOr(uimage1D image, int P, uint data); +uint imageAtomicOr(iimage1D image, int P, uint data); uint imageAtomicOr(image2D image, ivec2 P, uint data); -uint imageAtomicOr(iimage2D image, ivec2 P, uint data); uint imageAtomicOr(uimage2D image, ivec2 P, uint data); +uint imageAtomicOr(iimage2D image, ivec2 P, uint data); uint imageAtomicOr(image3D image, ivec3 P, uint data); -uint imageAtomicOr(iimage3D image, ivec3 P, uint data); uint imageAtomicOr(uimage3D image, ivec3 P, uint data); +uint imageAtomicOr(iimage3D image, ivec3 P, uint data); uint imageAtomicOr(image2DRect image, ivec2 P, uint data); -uint imageAtomicOr(iimage2DRect image, ivec2 P, uint data); uint imageAtomicOr(uimage2DRect image, ivec2 P, uint data); +uint imageAtomicOr(iimage2DRect image, ivec2 P, uint data); uint imageAtomicOr(imageCube image, ivec3 P, uint data); -uint imageAtomicOr(iimageCube image, ivec3 P, uint data); uint imageAtomicOr(uimageCube image, ivec3 P, uint data); +uint imageAtomicOr(iimageCube image, ivec3 P, uint data); uint imageAtomicOr(imageBuffer image, int P, uint data); -uint imageAtomicOr(iimageBuffer image, int P, uint data); uint imageAtomicOr(uimageBuffer image, int P, uint data); +uint imageAtomicOr(iimageBuffer image, int P, uint data); uint imageAtomicOr(image1DArray image, ivec2 P, uint data); -uint imageAtomicOr(iimage1DArray image, ivec2 P, uint data); uint imageAtomicOr(uimage1DArray image, ivec2 P, uint data); +uint imageAtomicOr(iimage1DArray image, ivec2 P, uint data); uint imageAtomicOr(image2DArray image, ivec3 P, uint data); -uint imageAtomicOr(iimage2DArray image, ivec3 P, uint data); uint imageAtomicOr(uimage2DArray image, ivec3 P, uint data); +uint imageAtomicOr(iimage2DArray image, ivec3 P, uint data); uint imageAtomicOr(imageCubeArray image, ivec3 P, uint data); -uint imageAtomicOr(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicOr(uimageCubeArray image, ivec3 P, uint data); +uint imageAtomicOr(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicOr(image2DMS image, ivec2 P, int sample_, uint data); -uint imageAtomicOr(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicOr(uimage2DMS image, ivec2 P, int sample_, uint data); +uint imageAtomicOr(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicOr(image2DMSArray image, ivec3 P, int sample_, uint data); -uint imageAtomicOr(iimage2DMSArray image, ivec3 P, int sample_, uint data); uint imageAtomicOr(uimage2DMSArray image, ivec3 P, int sample_, uint data); +uint imageAtomicOr(iimage2DMSArray image, ivec3 P, int sample_, uint data); int imageAtomicOr(image1D image, int P, int data); -int imageAtomicOr(iimage1D image, int P, int data); int imageAtomicOr(uimage1D image, int P, int data); +int imageAtomicOr(iimage1D image, int P, int data); int imageAtomicOr(image2D image, ivec2 P, int data); -int imageAtomicOr(iimage2D image, ivec2 P, int data); int imageAtomicOr(uimage2D image, ivec2 P, int data); +int imageAtomicOr(iimage2D image, ivec2 P, int data); int imageAtomicOr(image3D image, ivec3 P, int data); -int imageAtomicOr(iimage3D image, ivec3 P, int data); int imageAtomicOr(uimage3D image, ivec3 P, int data); +int imageAtomicOr(iimage3D image, ivec3 P, int data); int imageAtomicOr(image2DRect image, ivec2 P, int data); -int imageAtomicOr(iimage2DRect image, ivec2 P, int data); int imageAtomicOr(uimage2DRect image, ivec2 P, int data); +int imageAtomicOr(iimage2DRect image, ivec2 P, int data); int imageAtomicOr(imageCube image, ivec3 P, int data); -int imageAtomicOr(iimageCube image, ivec3 P, int data); int imageAtomicOr(uimageCube image, ivec3 P, int data); +int imageAtomicOr(iimageCube image, ivec3 P, int data); int imageAtomicOr(imageBuffer image, int P, int data); -int imageAtomicOr(iimageBuffer image, int P, int data); int imageAtomicOr(uimageBuffer image, int P, int data); +int imageAtomicOr(iimageBuffer image, int P, int data); int imageAtomicOr(image1DArray image, ivec2 P, int data); -int imageAtomicOr(iimage1DArray image, ivec2 P, int data); int imageAtomicOr(uimage1DArray image, ivec2 P, int data); +int imageAtomicOr(iimage1DArray image, ivec2 P, int data); int imageAtomicOr(image2DArray image, ivec3 P, int data); -int imageAtomicOr(iimage2DArray image, ivec3 P, int data); int imageAtomicOr(uimage2DArray image, ivec3 P, int data); +int imageAtomicOr(iimage2DArray image, ivec3 P, int data); int imageAtomicOr(imageCubeArray image, ivec3 P, int data); -int imageAtomicOr(iimageCubeArray image, ivec3 P, int data); int imageAtomicOr(uimageCubeArray image, ivec3 P, int data); +int imageAtomicOr(iimageCubeArray image, ivec3 P, int data); int imageAtomicOr(image2DMS image, ivec2 P, int sample_, int data); -int imageAtomicOr(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicOr(uimage2DMS image, ivec2 P, int sample_, int data); +int imageAtomicOr(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicOr(image2DMSArray image, ivec3 P, int sample_, int data); -int imageAtomicOr(iimage2DMSArray image, ivec3 P, int sample_, int data); int imageAtomicOr(uimage2DMSArray image, ivec3 P, int sample_, int data); +int imageAtomicOr(iimage2DMSArray image, ivec3 P, int sample_, int data); uint imageAtomicXor(image1D image, int P, uint data); -uint imageAtomicXor(iimage1D image, int P, uint data); uint imageAtomicXor(uimage1D image, int P, uint data); +uint imageAtomicXor(iimage1D image, int P, uint data); uint imageAtomicXor(image2D image, ivec2 P, uint data); -uint imageAtomicXor(iimage2D image, ivec2 P, uint data); uint imageAtomicXor(uimage2D image, ivec2 P, uint data); +uint imageAtomicXor(iimage2D image, ivec2 P, uint data); uint imageAtomicXor(image3D image, ivec3 P, uint data); -uint imageAtomicXor(iimage3D image, ivec3 P, uint data); uint imageAtomicXor(uimage3D image, ivec3 P, uint data); +uint imageAtomicXor(iimage3D image, ivec3 P, uint data); uint imageAtomicXor(image2DRect image, ivec2 P, uint data); -uint imageAtomicXor(iimage2DRect image, ivec2 P, uint data); uint imageAtomicXor(uimage2DRect image, ivec2 P, uint data); +uint imageAtomicXor(iimage2DRect image, ivec2 P, uint data); uint imageAtomicXor(imageCube image, ivec3 P, uint data); -uint imageAtomicXor(iimageCube image, ivec3 P, uint data); uint imageAtomicXor(uimageCube image, ivec3 P, uint data); +uint imageAtomicXor(iimageCube image, ivec3 P, uint data); uint imageAtomicXor(imageBuffer image, int P, uint data); -uint imageAtomicXor(iimageBuffer image, int P, uint data); uint imageAtomicXor(uimageBuffer image, int P, uint data); +uint imageAtomicXor(iimageBuffer image, int P, uint data); uint imageAtomicXor(image1DArray image, ivec2 P, uint data); -uint imageAtomicXor(iimage1DArray image, ivec2 P, uint data); uint imageAtomicXor(uimage1DArray image, ivec2 P, uint data); +uint imageAtomicXor(iimage1DArray image, ivec2 P, uint data); uint imageAtomicXor(image2DArray image, ivec3 P, uint data); -uint imageAtomicXor(iimage2DArray image, ivec3 P, uint data); uint imageAtomicXor(uimage2DArray image, ivec3 P, uint data); +uint imageAtomicXor(iimage2DArray image, ivec3 P, uint data); uint imageAtomicXor(imageCubeArray image, ivec3 P, uint data); -uint imageAtomicXor(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicXor(uimageCubeArray image, ivec3 P, uint data); +uint imageAtomicXor(iimageCubeArray image, ivec3 P, uint data); uint imageAtomicXor(image2DMS image, ivec2 P, int sample_, uint data); -uint imageAtomicXor(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicXor(uimage2DMS image, ivec2 P, int sample_, uint data); +uint imageAtomicXor(iimage2DMS image, ivec2 P, int sample_, uint data); uint imageAtomicXor(image2DMSArray image, ivec3 P, int sample_, uint data); -uint imageAtomicXor(iimage2DMSArray image, ivec3 P, int sample_, uint data); uint imageAtomicXor(uimage2DMSArray image, ivec3 P, int sample_, uint data); +uint imageAtomicXor(iimage2DMSArray image, ivec3 P, int sample_, uint data); int imageAtomicXor(image1D image, int P, int data); -int imageAtomicXor(iimage1D image, int P, int data); int imageAtomicXor(uimage1D image, int P, int data); +int imageAtomicXor(iimage1D image, int P, int data); int imageAtomicXor(image2D image, ivec2 P, int data); -int imageAtomicXor(iimage2D image, ivec2 P, int data); int imageAtomicXor(uimage2D image, ivec2 P, int data); +int imageAtomicXor(iimage2D image, ivec2 P, int data); int imageAtomicXor(image3D image, ivec3 P, int data); -int imageAtomicXor(iimage3D image, ivec3 P, int data); int imageAtomicXor(uimage3D image, ivec3 P, int data); +int imageAtomicXor(iimage3D image, ivec3 P, int data); int imageAtomicXor(image2DRect image, ivec2 P, int data); -int imageAtomicXor(iimage2DRect image, ivec2 P, int data); int imageAtomicXor(uimage2DRect image, ivec2 P, int data); +int imageAtomicXor(iimage2DRect image, ivec2 P, int data); int imageAtomicXor(imageCube image, ivec3 P, int data); -int imageAtomicXor(iimageCube image, ivec3 P, int data); int imageAtomicXor(uimageCube image, ivec3 P, int data); +int imageAtomicXor(iimageCube image, ivec3 P, int data); int imageAtomicXor(imageBuffer image, int P, int data); -int imageAtomicXor(iimageBuffer image, int P, int data); int imageAtomicXor(uimageBuffer image, int P, int data); +int imageAtomicXor(iimageBuffer image, int P, int data); int imageAtomicXor(image1DArray image, ivec2 P, int data); -int imageAtomicXor(iimage1DArray image, ivec2 P, int data); int imageAtomicXor(uimage1DArray image, ivec2 P, int data); +int imageAtomicXor(iimage1DArray image, ivec2 P, int data); int imageAtomicXor(image2DArray image, ivec3 P, int data); -int imageAtomicXor(iimage2DArray image, ivec3 P, int data); int imageAtomicXor(uimage2DArray image, ivec3 P, int data); +int imageAtomicXor(iimage2DArray image, ivec3 P, int data); int imageAtomicXor(imageCubeArray image, ivec3 P, int data); -int imageAtomicXor(iimageCubeArray image, ivec3 P, int data); int imageAtomicXor(uimageCubeArray image, ivec3 P, int data); +int imageAtomicXor(iimageCubeArray image, ivec3 P, int data); int imageAtomicXor(image2DMS image, ivec2 P, int sample_, int data); -int imageAtomicXor(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicXor(uimage2DMS image, ivec2 P, int sample_, int data); +int imageAtomicXor(iimage2DMS image, ivec2 P, int sample_, int data); int imageAtomicXor(image2DMSArray image, ivec3 P, int sample_, int data); -int imageAtomicXor(iimage2DMSArray image, ivec3 P, int sample_, int data); int imageAtomicXor(uimage2DMSArray image, ivec3 P, int sample_, int data); +int imageAtomicXor(iimage2DMSArray image, ivec3 P, int sample_, int data); vec4 imageLoad(image1D image, int P); -vec4 imageLoad(iimage1D image, int P); -vec4 imageLoad(uimage1D image, int P); -ivec4 imageLoad(image1D image, int P); -ivec4 imageLoad(iimage1D image, int P); -ivec4 imageLoad(uimage1D image, int P); -uvec4 imageLoad(image1D image, int P); -uvec4 imageLoad(iimage1D image, int P); uvec4 imageLoad(uimage1D image, int P); -dvec4 imageLoad(image1D image, int P); -dvec4 imageLoad(iimage1D image, int P); -dvec4 imageLoad(uimage1D image, int P); +ivec4 imageLoad(iimage1D image, int P); vec4 imageLoad(image2D image, ivec2 P); -vec4 imageLoad(iimage2D image, ivec2 P); -vec4 imageLoad(uimage2D image, ivec2 P); -ivec4 imageLoad(image2D image, ivec2 P); -ivec4 imageLoad(iimage2D image, ivec2 P); -ivec4 imageLoad(uimage2D image, ivec2 P); -uvec4 imageLoad(image2D image, ivec2 P); -uvec4 imageLoad(iimage2D image, ivec2 P); uvec4 imageLoad(uimage2D image, ivec2 P); -dvec4 imageLoad(image2D image, ivec2 P); -dvec4 imageLoad(iimage2D image, ivec2 P); -dvec4 imageLoad(uimage2D image, ivec2 P); +ivec4 imageLoad(iimage2D image, ivec2 P); vec4 imageLoad(image3D image, ivec3 P); -vec4 imageLoad(iimage3D image, ivec3 P); -vec4 imageLoad(uimage3D image, ivec3 P); -ivec4 imageLoad(image3D image, ivec3 P); -ivec4 imageLoad(iimage3D image, ivec3 P); -ivec4 imageLoad(uimage3D image, ivec3 P); -uvec4 imageLoad(image3D image, ivec3 P); -uvec4 imageLoad(iimage3D image, ivec3 P); uvec4 imageLoad(uimage3D image, ivec3 P); -dvec4 imageLoad(image3D image, ivec3 P); -dvec4 imageLoad(iimage3D image, ivec3 P); -dvec4 imageLoad(uimage3D image, ivec3 P); +ivec4 imageLoad(iimage3D image, ivec3 P); vec4 imageLoad(image2DRect image, ivec2 P); -vec4 imageLoad(iimage2DRect image, ivec2 P); -vec4 imageLoad(uimage2DRect image, ivec2 P); -ivec4 imageLoad(image2DRect image, ivec2 P); -ivec4 imageLoad(iimage2DRect image, ivec2 P); -ivec4 imageLoad(uimage2DRect image, ivec2 P); -uvec4 imageLoad(image2DRect image, ivec2 P); -uvec4 imageLoad(iimage2DRect image, ivec2 P); uvec4 imageLoad(uimage2DRect image, ivec2 P); -dvec4 imageLoad(image2DRect image, ivec2 P); -dvec4 imageLoad(iimage2DRect image, ivec2 P); -dvec4 imageLoad(uimage2DRect image, ivec2 P); +ivec4 imageLoad(iimage2DRect image, ivec2 P); vec4 imageLoad(imageCube image, ivec3 P); -vec4 imageLoad(iimageCube image, ivec3 P); -vec4 imageLoad(uimageCube image, ivec3 P); -ivec4 imageLoad(imageCube image, ivec3 P); -ivec4 imageLoad(iimageCube image, ivec3 P); -ivec4 imageLoad(uimageCube image, ivec3 P); -uvec4 imageLoad(imageCube image, ivec3 P); -uvec4 imageLoad(iimageCube image, ivec3 P); uvec4 imageLoad(uimageCube image, ivec3 P); -dvec4 imageLoad(imageCube image, ivec3 P); -dvec4 imageLoad(iimageCube image, ivec3 P); -dvec4 imageLoad(uimageCube image, ivec3 P); +ivec4 imageLoad(iimageCube image, ivec3 P); vec4 imageLoad(imageBuffer image, int P); -vec4 imageLoad(iimageBuffer image, int P); -vec4 imageLoad(uimageBuffer image, int P); -ivec4 imageLoad(imageBuffer image, int P); -ivec4 imageLoad(iimageBuffer image, int P); -ivec4 imageLoad(uimageBuffer image, int P); -uvec4 imageLoad(imageBuffer image, int P); -uvec4 imageLoad(iimageBuffer image, int P); uvec4 imageLoad(uimageBuffer image, int P); -dvec4 imageLoad(imageBuffer image, int P); -dvec4 imageLoad(iimageBuffer image, int P); -dvec4 imageLoad(uimageBuffer image, int P); +ivec4 imageLoad(iimageBuffer image, int P); vec4 imageLoad(image1DArray image, ivec2 P); -vec4 imageLoad(iimage1DArray image, ivec2 P); -vec4 imageLoad(uimage1DArray image, ivec2 P); -ivec4 imageLoad(image1DArray image, ivec2 P); -ivec4 imageLoad(iimage1DArray image, ivec2 P); -ivec4 imageLoad(uimage1DArray image, ivec2 P); -uvec4 imageLoad(image1DArray image, ivec2 P); -uvec4 imageLoad(iimage1DArray image, ivec2 P); uvec4 imageLoad(uimage1DArray image, ivec2 P); -dvec4 imageLoad(image1DArray image, ivec2 P); -dvec4 imageLoad(iimage1DArray image, ivec2 P); -dvec4 imageLoad(uimage1DArray image, ivec2 P); +ivec4 imageLoad(iimage1DArray image, ivec2 P); vec4 imageLoad(image2DArray image, ivec3 P); -vec4 imageLoad(iimage2DArray image, ivec3 P); -vec4 imageLoad(uimage2DArray image, ivec3 P); -ivec4 imageLoad(image2DArray image, ivec3 P); -ivec4 imageLoad(iimage2DArray image, ivec3 P); -ivec4 imageLoad(uimage2DArray image, ivec3 P); -uvec4 imageLoad(image2DArray image, ivec3 P); -uvec4 imageLoad(iimage2DArray image, ivec3 P); uvec4 imageLoad(uimage2DArray image, ivec3 P); -dvec4 imageLoad(image2DArray image, ivec3 P); -dvec4 imageLoad(iimage2DArray image, ivec3 P); -dvec4 imageLoad(uimage2DArray image, ivec3 P); +ivec4 imageLoad(iimage2DArray image, ivec3 P); vec4 imageLoad(imageCubeArray image, ivec3 P); -vec4 imageLoad(iimageCubeArray image, ivec3 P); -vec4 imageLoad(uimageCubeArray image, ivec3 P); -ivec4 imageLoad(imageCubeArray image, ivec3 P); -ivec4 imageLoad(iimageCubeArray image, ivec3 P); -ivec4 imageLoad(uimageCubeArray image, ivec3 P); -uvec4 imageLoad(imageCubeArray image, ivec3 P); -uvec4 imageLoad(iimageCubeArray image, ivec3 P); uvec4 imageLoad(uimageCubeArray image, ivec3 P); -dvec4 imageLoad(imageCubeArray image, ivec3 P); -dvec4 imageLoad(iimageCubeArray image, ivec3 P); -dvec4 imageLoad(uimageCubeArray image, ivec3 P); +ivec4 imageLoad(iimageCubeArray image, ivec3 P); vec4 imageLoad(image2DMS image, ivec2 P, int sample_); -vec4 imageLoad(iimage2DMS image, ivec2 P, int sample_); -vec4 imageLoad(uimage2DMS image, ivec2 P, int sample_); -ivec4 imageLoad(image2DMS image, ivec2 P, int sample_); -ivec4 imageLoad(iimage2DMS image, ivec2 P, int sample_); -ivec4 imageLoad(uimage2DMS image, ivec2 P, int sample_); -uvec4 imageLoad(image2DMS image, ivec2 P, int sample_); -uvec4 imageLoad(iimage2DMS image, ivec2 P, int sample_); uvec4 imageLoad(uimage2DMS image, ivec2 P, int sample_); -dvec4 imageLoad(image2DMS image, ivec2 P, int sample_); -dvec4 imageLoad(iimage2DMS image, ivec2 P, int sample_); -dvec4 imageLoad(uimage2DMS image, ivec2 P, int sample_); +ivec4 imageLoad(iimage2DMS image, ivec2 P, int sample_); vec4 imageLoad(image2DMSArray image, ivec3 P, int sample_); -vec4 imageLoad(iimage2DMSArray image, ivec3 P, int sample_); -vec4 imageLoad(uimage2DMSArray image, ivec3 P, int sample_); -ivec4 imageLoad(image2DMSArray image, ivec3 P, int sample_); -ivec4 imageLoad(iimage2DMSArray image, ivec3 P, int sample_); -ivec4 imageLoad(uimage2DMSArray image, ivec3 P, int sample_); -uvec4 imageLoad(image2DMSArray image, ivec3 P, int sample_); -uvec4 imageLoad(iimage2DMSArray image, ivec3 P, int sample_); uvec4 imageLoad(uimage2DMSArray image, ivec3 P, int sample_); -dvec4 imageLoad(image2DMSArray image, ivec3 P, int sample_); -dvec4 imageLoad(iimage2DMSArray image, ivec3 P, int sample_); -dvec4 imageLoad(uimage2DMSArray image, ivec3 P, int sample_); +ivec4 imageLoad(iimage2DMSArray image, ivec3 P, int sample_); int imageSamples(image2DMS image); -int imageSamples(iimage2DMS image); int imageSamples(uimage2DMS image); +int imageSamples(iimage2DMS image); int imageSamples(image2DMSArray image); -int imageSamples(iimage2DMSArray image); int imageSamples(uimage2DMSArray image); +int imageSamples(iimage2DMSArray image); int imageSize(image1D image); -int imageSize(iimage1D image); int imageSize(uimage1D image); +int imageSize(iimage1D image); ivec2 imageSize(image2D image); -ivec2 imageSize(iimage2D image); ivec2 imageSize(uimage2D image); +ivec2 imageSize(iimage2D image); ivec3 imageSize(image3D image); -ivec3 imageSize(iimage3D image); ivec3 imageSize(uimage3D image); +ivec3 imageSize(iimage3D image); ivec2 imageSize(imageCube image); -ivec2 imageSize(iimageCube image); ivec2 imageSize(uimageCube image); +ivec2 imageSize(iimageCube image); ivec3 imageSize(imageCubeArray image); -ivec3 imageSize(iimageCubeArray image); ivec3 imageSize(uimageCubeArray image); +ivec3 imageSize(iimageCubeArray image); +ivec2 imageSize(image2DRect image); +ivec2 imageSize(uimage2DRect image); +ivec2 imageSize(iimage2DRect image); ivec2 imageSize(image1DArray image); -ivec2 imageSize(iimage1DArray image); ivec2 imageSize(uimage1DArray image); +ivec2 imageSize(iimage1DArray image); ivec3 imageSize(image2DArray image); -ivec3 imageSize(iimage2DArray image); ivec3 imageSize(uimage2DArray image); +ivec3 imageSize(iimage2DArray image); int imageSize(imageBuffer image); -int imageSize(iimageBuffer image); int imageSize(uimageBuffer image); +int imageSize(iimageBuffer image); ivec2 imageSize(image2DMS image); -ivec2 imageSize(iimage2DMS image); ivec2 imageSize(uimage2DMS image); +ivec2 imageSize(iimage2DMS image); ivec3 imageSize(image2DMSArray image); -ivec3 imageSize(iimage2DMSArray image); ivec3 imageSize(uimage2DMSArray image); +ivec3 imageSize(iimage2DMSArray image); void imageStore(image1D image, int P, vec4 data); -void imageStore(image1D image, int P, ivec4 data); -void imageStore(image1D image, int P, uvec4 data); -void imageStore(image1D image, int P, dvec4 data); -void imageStore(iimage1D image, int P, vec4 data); void imageStore(iimage1D image, int P, ivec4 data); -void imageStore(iimage1D image, int P, uvec4 data); -void imageStore(iimage1D image, int P, dvec4 data); -void imageStore(uimage1D image, int P, vec4 data); -void imageStore(uimage1D image, int P, ivec4 data); void imageStore(uimage1D image, int P, uvec4 data); -void imageStore(uimage1D image, int P, dvec4 data); void imageStore(image2D image, ivec2 P, vec4 data); -void imageStore(image2D image, ivec2 P, ivec4 data); -void imageStore(image2D image, ivec2 P, uvec4 data); -void imageStore(image2D image, ivec2 P, dvec4 data); -void imageStore(iimage2D image, ivec2 P, vec4 data); void imageStore(iimage2D image, ivec2 P, ivec4 data); -void imageStore(iimage2D image, ivec2 P, uvec4 data); -void imageStore(iimage2D image, ivec2 P, dvec4 data); -void imageStore(uimage2D image, ivec2 P, vec4 data); -void imageStore(uimage2D image, ivec2 P, ivec4 data); void imageStore(uimage2D image, ivec2 P, uvec4 data); -void imageStore(uimage2D image, ivec2 P, dvec4 data); void imageStore(image3D image, ivec3 P, vec4 data); -void imageStore(image3D image, ivec3 P, ivec4 data); -void imageStore(image3D image, ivec3 P, uvec4 data); -void imageStore(image3D image, ivec3 P, dvec4 data); -void imageStore(iimage3D image, ivec3 P, vec4 data); void imageStore(iimage3D image, ivec3 P, ivec4 data); -void imageStore(iimage3D image, ivec3 P, uvec4 data); -void imageStore(iimage3D image, ivec3 P, dvec4 data); -void imageStore(uimage3D image, ivec3 P, vec4 data); -void imageStore(uimage3D image, ivec3 P, ivec4 data); void imageStore(uimage3D image, ivec3 P, uvec4 data); -void imageStore(uimage3D image, ivec3 P, dvec4 data); void imageStore(image2DRect image, ivec2 P, vec4 data); -void imageStore(image2DRect image, ivec2 P, ivec4 data); -void imageStore(image2DRect image, ivec2 P, uvec4 data); -void imageStore(image2DRect image, ivec2 P, dvec4 data); -void imageStore(iimage2DRect image, ivec2 P, vec4 data); void imageStore(iimage2DRect image, ivec2 P, ivec4 data); -void imageStore(iimage2DRect image, ivec2 P, uvec4 data); -void imageStore(iimage2DRect image, ivec2 P, dvec4 data); -void imageStore(uimage2DRect image, ivec2 P, vec4 data); -void imageStore(uimage2DRect image, ivec2 P, ivec4 data); void imageStore(uimage2DRect image, ivec2 P, uvec4 data); -void imageStore(uimage2DRect image, ivec2 P, dvec4 data); void imageStore(imageCube image, ivec3 P, vec4 data); -void imageStore(imageCube image, ivec3 P, ivec4 data); -void imageStore(imageCube image, ivec3 P, uvec4 data); -void imageStore(imageCube image, ivec3 P, dvec4 data); -void imageStore(iimageCube image, ivec3 P, vec4 data); void imageStore(iimageCube image, ivec3 P, ivec4 data); -void imageStore(iimageCube image, ivec3 P, uvec4 data); -void imageStore(iimageCube image, ivec3 P, dvec4 data); -void imageStore(uimageCube image, ivec3 P, vec4 data); -void imageStore(uimageCube image, ivec3 P, ivec4 data); void imageStore(uimageCube image, ivec3 P, uvec4 data); -void imageStore(uimageCube image, ivec3 P, dvec4 data); void imageStore(imageBuffer image, int P, vec4 data); -void imageStore(imageBuffer image, int P, ivec4 data); -void imageStore(imageBuffer image, int P, uvec4 data); -void imageStore(imageBuffer image, int P, dvec4 data); -void imageStore(iimageBuffer image, int P, vec4 data); void imageStore(iimageBuffer image, int P, ivec4 data); -void imageStore(iimageBuffer image, int P, uvec4 data); -void imageStore(iimageBuffer image, int P, dvec4 data); -void imageStore(uimageBuffer image, int P, vec4 data); -void imageStore(uimageBuffer image, int P, ivec4 data); void imageStore(uimageBuffer image, int P, uvec4 data); -void imageStore(uimageBuffer image, int P, dvec4 data); void imageStore(image1DArray image, ivec2 P, vec4 data); -void imageStore(image1DArray image, ivec2 P, ivec4 data); -void imageStore(image1DArray image, ivec2 P, uvec4 data); -void imageStore(image1DArray image, ivec2 P, dvec4 data); -void imageStore(iimage1DArray image, ivec2 P, vec4 data); void imageStore(iimage1DArray image, ivec2 P, ivec4 data); -void imageStore(iimage1DArray image, ivec2 P, uvec4 data); -void imageStore(iimage1DArray image, ivec2 P, dvec4 data); -void imageStore(uimage1DArray image, ivec2 P, vec4 data); -void imageStore(uimage1DArray image, ivec2 P, ivec4 data); void imageStore(uimage1DArray image, ivec2 P, uvec4 data); -void imageStore(uimage1DArray image, ivec2 P, dvec4 data); void imageStore(image2DArray image, ivec3 P, vec4 data); -void imageStore(image2DArray image, ivec3 P, ivec4 data); -void imageStore(image2DArray image, ivec3 P, uvec4 data); -void imageStore(image2DArray image, ivec3 P, dvec4 data); -void imageStore(iimage2DArray image, ivec3 P, vec4 data); void imageStore(iimage2DArray image, ivec3 P, ivec4 data); -void imageStore(iimage2DArray image, ivec3 P, uvec4 data); -void imageStore(iimage2DArray image, ivec3 P, dvec4 data); -void imageStore(uimage2DArray image, ivec3 P, vec4 data); -void imageStore(uimage2DArray image, ivec3 P, ivec4 data); void imageStore(uimage2DArray image, ivec3 P, uvec4 data); -void imageStore(uimage2DArray image, ivec3 P, dvec4 data); void imageStore(imageCubeArray image, ivec3 P, vec4 data); -void imageStore(imageCubeArray image, ivec3 P, ivec4 data); -void imageStore(imageCubeArray image, ivec3 P, uvec4 data); -void imageStore(imageCubeArray image, ivec3 P, dvec4 data); -void imageStore(iimageCubeArray image, ivec3 P, vec4 data); void imageStore(iimageCubeArray image, ivec3 P, ivec4 data); -void imageStore(iimageCubeArray image, ivec3 P, uvec4 data); -void imageStore(iimageCubeArray image, ivec3 P, dvec4 data); -void imageStore(uimageCubeArray image, ivec3 P, vec4 data); -void imageStore(uimageCubeArray image, ivec3 P, ivec4 data); void imageStore(uimageCubeArray image, ivec3 P, uvec4 data); -void imageStore(uimageCubeArray image, ivec3 P, dvec4 data); void imageStore(image2DMS image, ivec2 P, int sample_, vec4 data); -void imageStore(image2DMS image, ivec2 P, int sample_, ivec4 data); -void imageStore(image2DMS image, ivec2 P, int sample_, uvec4 data); -void imageStore(image2DMS image, ivec2 P, int sample_, dvec4 data); -void imageStore(iimage2DMS image, ivec2 P, int sample_, vec4 data); void imageStore(iimage2DMS image, ivec2 P, int sample_, ivec4 data); -void imageStore(iimage2DMS image, ivec2 P, int sample_, uvec4 data); -void imageStore(iimage2DMS image, ivec2 P, int sample_, dvec4 data); -void imageStore(uimage2DMS image, ivec2 P, int sample_, vec4 data); -void imageStore(uimage2DMS image, ivec2 P, int sample_, ivec4 data); void imageStore(uimage2DMS image, ivec2 P, int sample_, uvec4 data); -void imageStore(uimage2DMS image, ivec2 P, int sample_, dvec4 data); void imageStore(image2DMSArray image, ivec3 P, int sample_, vec4 data); -void imageStore(image2DMSArray image, ivec3 P, int sample_, ivec4 data); -void imageStore(image2DMSArray image, ivec3 P, int sample_, uvec4 data); -void imageStore(image2DMSArray image, ivec3 P, int sample_, dvec4 data); -void imageStore(iimage2DMSArray image, ivec3 P, int sample_, vec4 data); void imageStore(iimage2DMSArray image, ivec3 P, int sample_, ivec4 data); -void imageStore(iimage2DMSArray image, ivec3 P, int sample_, uvec4 data); -void imageStore(iimage2DMSArray image, ivec3 P, int sample_, dvec4 data); -void imageStore(uimage2DMSArray image, ivec3 P, int sample_, vec4 data); -void imageStore(uimage2DMSArray image, ivec3 P, int sample_, ivec4 data); void imageStore(uimage2DMSArray image, ivec3 P, int sample_, uvec4 data); -void imageStore(uimage2DMSArray image, ivec3 P, int sample_, dvec4 data); float intBitsToFloat(int x); -float intBitsToFloat(ivec2 x); -float intBitsToFloat(ivec3 x); -float intBitsToFloat(ivec4 x); -vec2 intBitsToFloat(int x); vec2 intBitsToFloat(ivec2 x); -vec2 intBitsToFloat(ivec3 x); -vec2 intBitsToFloat(ivec4 x); -vec3 intBitsToFloat(int x); -vec3 intBitsToFloat(ivec2 x); vec3 intBitsToFloat(ivec3 x); -vec3 intBitsToFloat(ivec4 x); -vec4 intBitsToFloat(int x); -vec4 intBitsToFloat(ivec2 x); -vec4 intBitsToFloat(ivec3 x); vec4 intBitsToFloat(ivec4 x); float uintBitsToFloat(uint x); -float uintBitsToFloat(uvec2 x); -float uintBitsToFloat(uvec3 x); -float uintBitsToFloat(uvec4 x); -vec2 uintBitsToFloat(uint x); vec2 uintBitsToFloat(uvec2 x); -vec2 uintBitsToFloat(uvec3 x); -vec2 uintBitsToFloat(uvec4 x); -vec3 uintBitsToFloat(uint x); -vec3 uintBitsToFloat(uvec2 x); vec3 uintBitsToFloat(uvec3 x); -vec3 uintBitsToFloat(uvec4 x); -vec4 uintBitsToFloat(uint x); -vec4 uintBitsToFloat(uvec2 x); -vec4 uintBitsToFloat(uvec3 x); vec4 uintBitsToFloat(uvec4 x); float interpolateAtCentroid(float interpolant); @@ -1517,102 +1160,30 @@ dvec3 inversesqrt(dvec3 x); dvec4 inversesqrt(dvec4 x); bool isinf(float x); -bool isinf(vec2 x); -bool isinf(vec3 x); -bool isinf(vec4 x); -bvec2 isinf(float x); bvec2 isinf(vec2 x); -bvec2 isinf(vec3 x); -bvec2 isinf(vec4 x); -bvec3 isinf(float x); -bvec3 isinf(vec2 x); bvec3 isinf(vec3 x); -bvec3 isinf(vec4 x); -bvec4 isinf(float x); -bvec4 isinf(vec2 x); -bvec4 isinf(vec3 x); bvec4 isinf(vec4 x); bool isinf(double x); -bool isinf(dvec2 x); -bool isinf(dvec3 x); -bool isinf(dvec4 x); -bvec2 isinf(double x); bvec2 isinf(dvec2 x); -bvec2 isinf(dvec3 x); -bvec2 isinf(dvec4 x); -bvec3 isinf(double x); -bvec3 isinf(dvec2 x); bvec3 isinf(dvec3 x); -bvec3 isinf(dvec4 x); -bvec4 isinf(double x); -bvec4 isinf(dvec2 x); -bvec4 isinf(dvec3 x); bvec4 isinf(dvec4 x); bool isnan(float x); -bool isnan(vec2 x); -bool isnan(vec3 x); -bool isnan(vec4 x); -bvec2 isnan(float x); bvec2 isnan(vec2 x); -bvec2 isnan(vec3 x); -bvec2 isnan(vec4 x); -bvec3 isnan(float x); -bvec3 isnan(vec2 x); bvec3 isnan(vec3 x); -bvec3 isnan(vec4 x); -bvec4 isnan(float x); -bvec4 isnan(vec2 x); -bvec4 isnan(vec3 x); bvec4 isnan(vec4 x); bool isnan(double x); -bool isnan(dvec2 x); -bool isnan(dvec3 x); -bool isnan(dvec4 x); -bvec2 isnan(double x); bvec2 isnan(dvec2 x); -bvec2 isnan(dvec3 x); -bvec2 isnan(dvec4 x); -bvec3 isnan(double x); -bvec3 isnan(dvec2 x); bvec3 isnan(dvec3 x); -bvec3 isnan(dvec4 x); -bvec4 isnan(double x); -bvec4 isnan(dvec2 x); -bvec4 isnan(dvec3 x); bvec4 isnan(dvec4 x); float ldexp(float x, int exp); -float ldexp(float x, ivec2 exp); -float ldexp(float x, ivec3 exp); -float ldexp(float x, ivec4 exp); -vec2 ldexp(vec2 x, int exp); vec2 ldexp(vec2 x, ivec2 exp); -vec2 ldexp(vec2 x, ivec3 exp); -vec2 ldexp(vec2 x, ivec4 exp); -vec3 ldexp(vec3 x, int exp); -vec3 ldexp(vec3 x, ivec2 exp); vec3 ldexp(vec3 x, ivec3 exp); -vec3 ldexp(vec3 x, ivec4 exp); -vec4 ldexp(vec4 x, int exp); -vec4 ldexp(vec4 x, ivec2 exp); -vec4 ldexp(vec4 x, ivec3 exp); vec4 ldexp(vec4 x, ivec4 exp); double ldexp(double x, int exp); -double ldexp(double x, ivec2 exp); -double ldexp(double x, ivec3 exp); -double ldexp(double x, ivec4 exp); -dvec2 ldexp(dvec2 x, int exp); dvec2 ldexp(dvec2 x, ivec2 exp); -dvec2 ldexp(dvec2 x, ivec3 exp); -dvec2 ldexp(dvec2 x, ivec4 exp); -dvec3 ldexp(dvec3 x, int exp); -dvec3 ldexp(dvec3 x, ivec2 exp); dvec3 ldexp(dvec3 x, ivec3 exp); -dvec3 ldexp(dvec3 x, ivec4 exp); -dvec4 ldexp(dvec4 x, int exp); -dvec4 ldexp(dvec4 x, ivec2 exp); -dvec4 ldexp(dvec4 x, ivec3 exp); dvec4 ldexp(dvec4 x, ivec4 exp); float length(float x); @@ -1625,59 +1196,23 @@ double length(dvec3 x); double length(dvec4 x); bvec2 lessThan(vec2 x, vec2 y); -bvec2 lessThan(vec3 x, vec3 y); -bvec2 lessThan(vec4 x, vec4 y); -bvec3 lessThan(vec2 x, vec2 y); bvec3 lessThan(vec3 x, vec3 y); -bvec3 lessThan(vec4 x, vec4 y); -bvec4 lessThan(vec2 x, vec2 y); -bvec4 lessThan(vec3 x, vec3 y); bvec4 lessThan(vec4 x, vec4 y); bvec2 lessThan(ivec2 x, ivec2 y); -bvec2 lessThan(ivec3 x, ivec3 y); -bvec2 lessThan(ivec4 x, ivec4 y); -bvec3 lessThan(ivec2 x, ivec2 y); bvec3 lessThan(ivec3 x, ivec3 y); -bvec3 lessThan(ivec4 x, ivec4 y); -bvec4 lessThan(ivec2 x, ivec2 y); -bvec4 lessThan(ivec3 x, ivec3 y); bvec4 lessThan(ivec4 x, ivec4 y); bvec2 lessThan(uvec2 x, uvec2 y); -bvec2 lessThan(uvec3 x, uvec3 y); -bvec2 lessThan(uvec4 x, uvec4 y); -bvec3 lessThan(uvec2 x, uvec2 y); bvec3 lessThan(uvec3 x, uvec3 y); -bvec3 lessThan(uvec4 x, uvec4 y); -bvec4 lessThan(uvec2 x, uvec2 y); -bvec4 lessThan(uvec3 x, uvec3 y); bvec4 lessThan(uvec4 x, uvec4 y); bvec2 lessThanEqual(vec2 x, vec2 y); -bvec2 lessThanEqual(vec3 x, vec3 y); -bvec2 lessThanEqual(vec4 x, vec4 y); -bvec3 lessThanEqual(vec2 x, vec2 y); bvec3 lessThanEqual(vec3 x, vec3 y); -bvec3 lessThanEqual(vec4 x, vec4 y); -bvec4 lessThanEqual(vec2 x, vec2 y); -bvec4 lessThanEqual(vec3 x, vec3 y); bvec4 lessThanEqual(vec4 x, vec4 y); bvec2 lessThanEqual(ivec2 x, ivec2 y); -bvec2 lessThanEqual(ivec3 x, ivec3 y); -bvec2 lessThanEqual(ivec4 x, ivec4 y); -bvec3 lessThanEqual(ivec2 x, ivec2 y); bvec3 lessThanEqual(ivec3 x, ivec3 y); -bvec3 lessThanEqual(ivec4 x, ivec4 y); -bvec4 lessThanEqual(ivec2 x, ivec2 y); -bvec4 lessThanEqual(ivec3 x, ivec3 y); bvec4 lessThanEqual(ivec4 x, ivec4 y); bvec2 lessThanEqual(uvec2 x, uvec2 y); -bvec2 lessThanEqual(uvec3 x, uvec3 y); -bvec2 lessThanEqual(uvec4 x, uvec4 y); -bvec3 lessThanEqual(uvec2 x, uvec2 y); bvec3 lessThanEqual(uvec3 x, uvec3 y); -bvec3 lessThanEqual(uvec4 x, uvec4 y); -bvec4 lessThanEqual(uvec2 x, uvec2 y); -bvec4 lessThanEqual(uvec3 x, uvec3 y); bvec4 lessThanEqual(uvec4 x, uvec4 y); float log(float x); @@ -1690,24 +1225,24 @@ vec2 log2(vec2 x); vec3 log2(vec3 x); vec4 log2(vec4 x); +mat4 matrixCompMult(mat4 x, mat4 y); mat2 matrixCompMult(mat2 x, mat2 y); mat2x3 matrixCompMult(mat2x3 x, mat2x3 y); -mat2x4 matrixCompMult(mat2x4 x, mat2x4 y); mat3x2 matrixCompMult(mat3x2 x, mat3x2 y); +mat2x4 matrixCompMult(mat2x4 x, mat2x4 y); mat3 matrixCompMult(mat3 x, mat3 y); -mat3x4 matrixCompMult(mat3x4 x, mat3x4 y); mat4x2 matrixCompMult(mat4x2 x, mat4x2 y); +mat3x4 matrixCompMult(mat3x4 x, mat3x4 y); mat4x3 matrixCompMult(mat4x3 x, mat4x3 y); -mat4 matrixCompMult(mat4 x, mat4 y); +dmat4 matrixCompMult(dmat4 x, dmat4 y); dmat2 matrixCompMult(dmat2 x, dmat2 y); dmat2x3 matrixCompMult(dmat2x3 x, dmat2x3 y); -dmat2x4 matrixCompMult(dmat2x4 x, dmat2x4 y); dmat3x2 matrixCompMult(dmat3x2 x, dmat3x2 y); +dmat2x4 matrixCompMult(dmat2x4 x, dmat2x4 y); dmat3 matrixCompMult(dmat3 x, dmat3 y); -dmat3x4 matrixCompMult(dmat3x4 x, dmat3x4 y); dmat4x2 matrixCompMult(dmat4x2 x, dmat4x2 y); +dmat3x4 matrixCompMult(dmat3x4 x, dmat3x4 y); dmat4x3 matrixCompMult(dmat4x3 x, dmat4x3 y); -dmat4 matrixCompMult(dmat4 x, dmat4 y); float max(float x, float y); vec2 max(vec2 x, vec2 y); @@ -1802,68 +1337,20 @@ dvec2 mix(dvec2 x, dvec2 y, double a); dvec3 mix(dvec3 x, dvec3 y, double a); dvec4 mix(dvec4 x, dvec4 y, double a); float mix(float x, float y, bool a); -float mix(float x, float y, bvec2 a); -float mix(float x, float y, bvec3 a); -float mix(float x, float y, bvec4 a); -vec2 mix(vec2 x, vec2 y, bool a); vec2 mix(vec2 x, vec2 y, bvec2 a); -vec2 mix(vec2 x, vec2 y, bvec3 a); -vec2 mix(vec2 x, vec2 y, bvec4 a); -vec3 mix(vec3 x, vec3 y, bool a); -vec3 mix(vec3 x, vec3 y, bvec2 a); vec3 mix(vec3 x, vec3 y, bvec3 a); -vec3 mix(vec3 x, vec3 y, bvec4 a); -vec4 mix(vec4 x, vec4 y, bool a); -vec4 mix(vec4 x, vec4 y, bvec2 a); -vec4 mix(vec4 x, vec4 y, bvec3 a); vec4 mix(vec4 x, vec4 y, bvec4 a); double mix(double x, double y, bool a); -double mix(double x, double y, bvec2 a); -double mix(double x, double y, bvec3 a); -double mix(double x, double y, bvec4 a); -dvec2 mix(dvec2 x, dvec2 y, bool a); dvec2 mix(dvec2 x, dvec2 y, bvec2 a); -dvec2 mix(dvec2 x, dvec2 y, bvec3 a); -dvec2 mix(dvec2 x, dvec2 y, bvec4 a); -dvec3 mix(dvec3 x, dvec3 y, bool a); -dvec3 mix(dvec3 x, dvec3 y, bvec2 a); dvec3 mix(dvec3 x, dvec3 y, bvec3 a); -dvec3 mix(dvec3 x, dvec3 y, bvec4 a); -dvec4 mix(dvec4 x, dvec4 y, bool a); -dvec4 mix(dvec4 x, dvec4 y, bvec2 a); -dvec4 mix(dvec4 x, dvec4 y, bvec3 a); dvec4 mix(dvec4 x, dvec4 y, bvec4 a); int mix(int x, int y, bool a); -int mix(int x, int y, bvec2 a); -int mix(int x, int y, bvec3 a); -int mix(int x, int y, bvec4 a); -ivec2 mix(ivec2 x, ivec2 y, bool a); ivec2 mix(ivec2 x, ivec2 y, bvec2 a); -ivec2 mix(ivec2 x, ivec2 y, bvec3 a); -ivec2 mix(ivec2 x, ivec2 y, bvec4 a); -ivec3 mix(ivec3 x, ivec3 y, bool a); -ivec3 mix(ivec3 x, ivec3 y, bvec2 a); ivec3 mix(ivec3 x, ivec3 y, bvec3 a); -ivec3 mix(ivec3 x, ivec3 y, bvec4 a); -ivec4 mix(ivec4 x, ivec4 y, bool a); -ivec4 mix(ivec4 x, ivec4 y, bvec2 a); -ivec4 mix(ivec4 x, ivec4 y, bvec3 a); ivec4 mix(ivec4 x, ivec4 y, bvec4 a); uint mix(uint x, uint y, bool a); -uint mix(uint x, uint y, bvec2 a); -uint mix(uint x, uint y, bvec3 a); -uint mix(uint x, uint y, bvec4 a); -uvec2 mix(uvec2 x, uvec2 y, bool a); uvec2 mix(uvec2 x, uvec2 y, bvec2 a); -uvec2 mix(uvec2 x, uvec2 y, bvec3 a); -uvec2 mix(uvec2 x, uvec2 y, bvec4 a); -uvec3 mix(uvec3 x, uvec3 y, bool a); -uvec3 mix(uvec3 x, uvec3 y, bvec2 a); uvec3 mix(uvec3 x, uvec3 y, bvec3 a); -uvec3 mix(uvec3 x, uvec3 y, bvec4 a); -uvec4 mix(uvec4 x, uvec4 y, bool a); -uvec4 mix(uvec4 x, uvec4 y, bvec2 a); -uvec4 mix(uvec4 x, uvec4 y, bvec3 a); uvec4 mix(uvec4 x, uvec4 y, bvec4 a); bool mix(bool x, bool y, bool a); bvec2 mix(bvec2 x, bvec2 y, bvec2 a); @@ -1930,31 +1417,13 @@ bvec3 not(bvec3 x); bvec4 not(bvec4 x); bvec2 notEqual(vec2 x, vec2 y); -bvec2 notEqual(vec3 x, vec3 y); -bvec2 notEqual(vec4 x, vec4 y); -bvec3 notEqual(vec2 x, vec2 y); bvec3 notEqual(vec3 x, vec3 y); -bvec3 notEqual(vec4 x, vec4 y); -bvec4 notEqual(vec2 x, vec2 y); -bvec4 notEqual(vec3 x, vec3 y); bvec4 notEqual(vec4 x, vec4 y); bvec2 notEqual(ivec2 x, ivec2 y); -bvec2 notEqual(ivec3 x, ivec3 y); -bvec2 notEqual(ivec4 x, ivec4 y); -bvec3 notEqual(ivec2 x, ivec2 y); bvec3 notEqual(ivec3 x, ivec3 y); -bvec3 notEqual(ivec4 x, ivec4 y); -bvec4 notEqual(ivec2 x, ivec2 y); -bvec4 notEqual(ivec3 x, ivec3 y); bvec4 notEqual(ivec4 x, ivec4 y); bvec2 notEqual(uvec2 x, uvec2 y); -bvec2 notEqual(uvec3 x, uvec3 y); -bvec2 notEqual(uvec4 x, uvec4 y); -bvec3 notEqual(uvec2 x, uvec2 y); bvec3 notEqual(uvec3 x, uvec3 y); -bvec3 notEqual(uvec4 x, uvec4 y); -bvec4 notEqual(uvec2 x, uvec2 y); -bvec4 notEqual(uvec3 x, uvec3 y); bvec4 notEqual(uvec4 x, uvec4 y); mat2 outerProduct(vec2 c, vec2 r); @@ -2111,500 +1580,99 @@ vec3 tanh(vec3 x); vec4 tanh(vec4 x); vec4 texelFetch(sampler1D sampler, int P, int lod); -vec4 texelFetch(isampler1D sampler, int P, int lod); -vec4 texelFetch(usampler1D sampler, int P, int lod); -ivec4 texelFetch(sampler1D sampler, int P, int lod); -ivec4 texelFetch(isampler1D sampler, int P, int lod); -ivec4 texelFetch(usampler1D sampler, int P, int lod); -uvec4 texelFetch(sampler1D sampler, int P, int lod); -uvec4 texelFetch(isampler1D sampler, int P, int lod); uvec4 texelFetch(usampler1D sampler, int P, int lod); -dvec4 texelFetch(sampler1D sampler, int P, int lod); -dvec4 texelFetch(isampler1D sampler, int P, int lod); -dvec4 texelFetch(usampler1D sampler, int P, int lod); +ivec4 texelFetch(isampler1D sampler, int P, int lod); vec4 texelFetch(sampler2D sampler, ivec2 P, int lod); -vec4 texelFetch(isampler2D sampler, ivec2 P, int lod); -vec4 texelFetch(usampler2D sampler, ivec2 P, int lod); -ivec4 texelFetch(sampler2D sampler, ivec2 P, int lod); -ivec4 texelFetch(isampler2D sampler, ivec2 P, int lod); -ivec4 texelFetch(usampler2D sampler, ivec2 P, int lod); -uvec4 texelFetch(sampler2D sampler, ivec2 P, int lod); -uvec4 texelFetch(isampler2D sampler, ivec2 P, int lod); uvec4 texelFetch(usampler2D sampler, ivec2 P, int lod); -dvec4 texelFetch(sampler2D sampler, ivec2 P, int lod); -dvec4 texelFetch(isampler2D sampler, ivec2 P, int lod); -dvec4 texelFetch(usampler2D sampler, ivec2 P, int lod); +ivec4 texelFetch(isampler2D sampler, ivec2 P, int lod); vec4 texelFetch(sampler3D sampler, ivec3 P, int lod); -vec4 texelFetch(isampler3D sampler, ivec3 P, int lod); -vec4 texelFetch(usampler3D sampler, ivec3 P, int lod); -ivec4 texelFetch(sampler3D sampler, ivec3 P, int lod); -ivec4 texelFetch(isampler3D sampler, ivec3 P, int lod); -ivec4 texelFetch(usampler3D sampler, ivec3 P, int lod); -uvec4 texelFetch(sampler3D sampler, ivec3 P, int lod); -uvec4 texelFetch(isampler3D sampler, ivec3 P, int lod); uvec4 texelFetch(usampler3D sampler, ivec3 P, int lod); -dvec4 texelFetch(sampler3D sampler, ivec3 P, int lod); -dvec4 texelFetch(isampler3D sampler, ivec3 P, int lod); -dvec4 texelFetch(usampler3D sampler, ivec3 P, int lod); +ivec4 texelFetch(isampler3D sampler, ivec3 P, int lod); vec4 texelFetch(sampler2DRect sampler, ivec2 P); -vec4 texelFetch(isampler2DRect sampler, ivec2 P); -vec4 texelFetch(usampler2DRect sampler, ivec2 P); -ivec4 texelFetch(sampler2DRect sampler, ivec2 P); -ivec4 texelFetch(isampler2DRect sampler, ivec2 P); -ivec4 texelFetch(usampler2DRect sampler, ivec2 P); -uvec4 texelFetch(sampler2DRect sampler, ivec2 P); -uvec4 texelFetch(isampler2DRect sampler, ivec2 P); uvec4 texelFetch(usampler2DRect sampler, ivec2 P); -dvec4 texelFetch(sampler2DRect sampler, ivec2 P); -dvec4 texelFetch(isampler2DRect sampler, ivec2 P); -dvec4 texelFetch(usampler2DRect sampler, ivec2 P); +ivec4 texelFetch(isampler2DRect sampler, ivec2 P); vec4 texelFetch(sampler1DArray sampler, ivec2 P, int lod); -vec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod); -vec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod); -ivec4 texelFetch(sampler1DArray sampler, ivec2 P, int lod); -ivec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod); -ivec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod); -uvec4 texelFetch(sampler1DArray sampler, ivec2 P, int lod); -uvec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod); uvec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod); -dvec4 texelFetch(sampler1DArray sampler, ivec2 P, int lod); -dvec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod); -dvec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod); +ivec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod); vec4 texelFetch(sampler2DArray sampler, ivec3 P, int lod); -vec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod); -vec4 texelFetch(usampler2DArray sampler, ivec3 P, int lod); -ivec4 texelFetch(sampler2DArray sampler, ivec3 P, int lod); -ivec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod); -ivec4 texelFetch(usampler2DArray sampler, ivec3 P, int lod); -uvec4 texelFetch(sampler2DArray sampler, ivec3 P, int lod); -uvec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod); uvec4 texelFetch(usampler2DArray sampler, ivec3 P, int lod); -dvec4 texelFetch(sampler2DArray sampler, ivec3 P, int lod); -dvec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod); -dvec4 texelFetch(usampler2DArray sampler, ivec3 P, int lod); +ivec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod); vec4 texelFetch(samplerBuffer sampler, int P); -vec4 texelFetch(isamplerBuffer sampler, int P); -vec4 texelFetch(usamplerBuffer sampler, int P); -ivec4 texelFetch(samplerBuffer sampler, int P); -ivec4 texelFetch(isamplerBuffer sampler, int P); -ivec4 texelFetch(usamplerBuffer sampler, int P); -uvec4 texelFetch(samplerBuffer sampler, int P); -uvec4 texelFetch(isamplerBuffer sampler, int P); uvec4 texelFetch(usamplerBuffer sampler, int P); -dvec4 texelFetch(samplerBuffer sampler, int P); -dvec4 texelFetch(isamplerBuffer sampler, int P); -dvec4 texelFetch(usamplerBuffer sampler, int P); +ivec4 texelFetch(isamplerBuffer sampler, int P); vec4 texelFetch(sampler2DMS sampler, ivec2 P, int sample_); -vec4 texelFetch(isampler2DMS sampler, ivec2 P, int sample_); -vec4 texelFetch(usampler2DMS sampler, ivec2 P, int sample_); -ivec4 texelFetch(sampler2DMS sampler, ivec2 P, int sample_); -ivec4 texelFetch(isampler2DMS sampler, ivec2 P, int sample_); -ivec4 texelFetch(usampler2DMS sampler, ivec2 P, int sample_); -uvec4 texelFetch(sampler2DMS sampler, ivec2 P, int sample_); -uvec4 texelFetch(isampler2DMS sampler, ivec2 P, int sample_); uvec4 texelFetch(usampler2DMS sampler, ivec2 P, int sample_); -dvec4 texelFetch(sampler2DMS sampler, ivec2 P, int sample_); -dvec4 texelFetch(isampler2DMS sampler, ivec2 P, int sample_); -dvec4 texelFetch(usampler2DMS sampler, ivec2 P, int sample_); +ivec4 texelFetch(isampler2DMS sampler, ivec2 P, int sample_); vec4 texelFetch(sampler2DMSArray sampler, ivec3 P, int sample_); -vec4 texelFetch(isampler2DMSArray sampler, ivec3 P, int sample_); -vec4 texelFetch(usampler2DMSArray sampler, ivec3 P, int sample_); -ivec4 texelFetch(sampler2DMSArray sampler, ivec3 P, int sample_); -ivec4 texelFetch(isampler2DMSArray sampler, ivec3 P, int sample_); -ivec4 texelFetch(usampler2DMSArray sampler, ivec3 P, int sample_); -uvec4 texelFetch(sampler2DMSArray sampler, ivec3 P, int sample_); -uvec4 texelFetch(isampler2DMSArray sampler, ivec3 P, int sample_); uvec4 texelFetch(usampler2DMSArray sampler, ivec3 P, int sample_); -dvec4 texelFetch(sampler2DMSArray sampler, ivec3 P, int sample_); -dvec4 texelFetch(isampler2DMSArray sampler, ivec3 P, int sample_); -dvec4 texelFetch(usampler2DMSArray sampler, ivec3 P, int sample_); +ivec4 texelFetch(isampler2DMSArray sampler, ivec3 P, int sample_); vec4 texelFetchOffset(sampler1D sampler, int P, int lod, int offset); -vec4 texelFetchOffset(isampler1D sampler, int P, int lod, int offset); -vec4 texelFetchOffset(usampler1D sampler, int P, int lod, int offset); -ivec4 texelFetchOffset(sampler1D sampler, int P, int lod, int offset); -ivec4 texelFetchOffset(isampler1D sampler, int P, int lod, int offset); -ivec4 texelFetchOffset(usampler1D sampler, int P, int lod, int offset); -uvec4 texelFetchOffset(sampler1D sampler, int P, int lod, int offset); -uvec4 texelFetchOffset(isampler1D sampler, int P, int lod, int offset); uvec4 texelFetchOffset(usampler1D sampler, int P, int lod, int offset); -dvec4 texelFetchOffset(sampler1D sampler, int P, int lod, int offset); -dvec4 texelFetchOffset(isampler1D sampler, int P, int lod, int offset); -dvec4 texelFetchOffset(usampler1D sampler, int P, int lod, int offset); +ivec4 texelFetchOffset(isampler1D sampler, int P, int lod, int offset); vec4 texelFetchOffset(sampler2D sampler, ivec2 P, int lod, ivec2 offset); -vec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset); -vec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset); -ivec4 texelFetchOffset(sampler2D sampler, ivec2 P, int lod, ivec2 offset); -ivec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset); -ivec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset); -uvec4 texelFetchOffset(sampler2D sampler, ivec2 P, int lod, ivec2 offset); -uvec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset); uvec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset); -dvec4 texelFetchOffset(sampler2D sampler, ivec2 P, int lod, ivec2 offset); -dvec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset); -dvec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset); +ivec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset); vec4 texelFetchOffset(sampler3D sampler, ivec3 P, int lod, ivec3 offset); -vec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset); -vec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset); -ivec4 texelFetchOffset(sampler3D sampler, ivec3 P, int lod, ivec3 offset); -ivec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset); -ivec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset); -uvec4 texelFetchOffset(sampler3D sampler, ivec3 P, int lod, ivec3 offset); -uvec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset); uvec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset); -dvec4 texelFetchOffset(sampler3D sampler, ivec3 P, int lod, ivec3 offset); -dvec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset); -dvec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset); +ivec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset); vec4 texelFetchOffset(sampler2DRect sampler, ivec2 P, ivec2 offset); -vec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset); -vec4 texelFetchOffset(usampler2DRect sampler, ivec2 P, ivec2 offset); -ivec4 texelFetchOffset(sampler2DRect sampler, ivec2 P, ivec2 offset); -ivec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset); -ivec4 texelFetchOffset(usampler2DRect sampler, ivec2 P, ivec2 offset); -uvec4 texelFetchOffset(sampler2DRect sampler, ivec2 P, ivec2 offset); -uvec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset); uvec4 texelFetchOffset(usampler2DRect sampler, ivec2 P, ivec2 offset); -dvec4 texelFetchOffset(sampler2DRect sampler, ivec2 P, ivec2 offset); -dvec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset); -dvec4 texelFetchOffset(usampler2DRect sampler, ivec2 P, ivec2 offset); +ivec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset); vec4 texelFetchOffset(sampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -vec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -vec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -ivec4 texelFetchOffset(sampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -ivec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -ivec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -uvec4 texelFetchOffset(sampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -uvec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, ivec2 offset); uvec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -dvec4 texelFetchOffset(sampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -dvec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, ivec2 offset); -dvec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, ivec2 offset); +ivec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, ivec2 offset); vec4 texelFetchOffset(sampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -vec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -vec4 texelFetchOffset(usampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -ivec4 texelFetchOffset(sampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -ivec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -ivec4 texelFetchOffset(usampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -uvec4 texelFetchOffset(sampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -uvec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec3 offset); uvec4 texelFetchOffset(usampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -dvec4 texelFetchOffset(sampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -dvec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec3 offset); -dvec4 texelFetchOffset(usampler2DArray sampler, ivec3 P, int lod, ivec3 offset); +ivec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec3 offset); vec4 texture(sampler1D sampler, float P, float bias); -vec4 texture(sampler1D sampler, float P); -vec4 texture(isampler1D sampler, float P, float bias); -vec4 texture(isampler1D sampler, float P); -vec4 texture(usampler1D sampler, float P, float bias); -vec4 texture(usampler1D sampler, float P); -ivec4 texture(sampler1D sampler, float P, float bias); -ivec4 texture(sampler1D sampler, float P); -ivec4 texture(isampler1D sampler, float P, float bias); -ivec4 texture(isampler1D sampler, float P); -ivec4 texture(usampler1D sampler, float P, float bias); -ivec4 texture(usampler1D sampler, float P); -uvec4 texture(sampler1D sampler, float P, float bias); -uvec4 texture(sampler1D sampler, float P); -uvec4 texture(isampler1D sampler, float P, float bias); -uvec4 texture(isampler1D sampler, float P); uvec4 texture(usampler1D sampler, float P, float bias); -uvec4 texture(usampler1D sampler, float P); -dvec4 texture(sampler1D sampler, float P, float bias); -dvec4 texture(sampler1D sampler, float P); -dvec4 texture(isampler1D sampler, float P, float bias); -dvec4 texture(isampler1D sampler, float P); -dvec4 texture(usampler1D sampler, float P, float bias); -dvec4 texture(usampler1D sampler, float P); +ivec4 texture(isampler1D sampler, float P, float bias); vec4 texture(sampler2D sampler, vec2 P, float bias); -vec4 texture(sampler2D sampler, vec2 P); -vec4 texture(isampler2D sampler, vec2 P, float bias); -vec4 texture(isampler2D sampler, vec2 P); -vec4 texture(usampler2D sampler, vec2 P, float bias); -vec4 texture(usampler2D sampler, vec2 P); -ivec4 texture(sampler2D sampler, vec2 P, float bias); -ivec4 texture(sampler2D sampler, vec2 P); -ivec4 texture(isampler2D sampler, vec2 P, float bias); -ivec4 texture(isampler2D sampler, vec2 P); -ivec4 texture(usampler2D sampler, vec2 P, float bias); -ivec4 texture(usampler2D sampler, vec2 P); -uvec4 texture(sampler2D sampler, vec2 P, float bias); -uvec4 texture(sampler2D sampler, vec2 P); -uvec4 texture(isampler2D sampler, vec2 P, float bias); -uvec4 texture(isampler2D sampler, vec2 P); uvec4 texture(usampler2D sampler, vec2 P, float bias); -uvec4 texture(usampler2D sampler, vec2 P); -dvec4 texture(sampler2D sampler, vec2 P, float bias); -dvec4 texture(sampler2D sampler, vec2 P); -dvec4 texture(isampler2D sampler, vec2 P, float bias); -dvec4 texture(isampler2D sampler, vec2 P); -dvec4 texture(usampler2D sampler, vec2 P, float bias); -dvec4 texture(usampler2D sampler, vec2 P); +ivec4 texture(isampler2D sampler, vec2 P, float bias); vec4 texture(sampler3D sampler, vec3 P, float bias); -vec4 texture(sampler3D sampler, vec3 P); -vec4 texture(isampler3D sampler, vec3 P, float bias); -vec4 texture(isampler3D sampler, vec3 P); -vec4 texture(usampler3D sampler, vec3 P, float bias); -vec4 texture(usampler3D sampler, vec3 P); -ivec4 texture(sampler3D sampler, vec3 P, float bias); -ivec4 texture(sampler3D sampler, vec3 P); -ivec4 texture(isampler3D sampler, vec3 P, float bias); -ivec4 texture(isampler3D sampler, vec3 P); -ivec4 texture(usampler3D sampler, vec3 P, float bias); -ivec4 texture(usampler3D sampler, vec3 P); -uvec4 texture(sampler3D sampler, vec3 P, float bias); -uvec4 texture(sampler3D sampler, vec3 P); -uvec4 texture(isampler3D sampler, vec3 P, float bias); -uvec4 texture(isampler3D sampler, vec3 P); uvec4 texture(usampler3D sampler, vec3 P, float bias); -uvec4 texture(usampler3D sampler, vec3 P); -dvec4 texture(sampler3D sampler, vec3 P, float bias); -dvec4 texture(sampler3D sampler, vec3 P); -dvec4 texture(isampler3D sampler, vec3 P, float bias); -dvec4 texture(isampler3D sampler, vec3 P); -dvec4 texture(usampler3D sampler, vec3 P, float bias); -dvec4 texture(usampler3D sampler, vec3 P); +ivec4 texture(isampler3D sampler, vec3 P, float bias); vec4 texture(samplerCube sampler, vec3 P, float bias); -vec4 texture(samplerCube sampler, vec3 P); -vec4 texture(isamplerCube sampler, vec3 P, float bias); -vec4 texture(isamplerCube sampler, vec3 P); -vec4 texture(usamplerCube sampler, vec3 P, float bias); -vec4 texture(usamplerCube sampler, vec3 P); -ivec4 texture(samplerCube sampler, vec3 P, float bias); -ivec4 texture(samplerCube sampler, vec3 P); -ivec4 texture(isamplerCube sampler, vec3 P, float bias); -ivec4 texture(isamplerCube sampler, vec3 P); -ivec4 texture(usamplerCube sampler, vec3 P, float bias); -ivec4 texture(usamplerCube sampler, vec3 P); -uvec4 texture(samplerCube sampler, vec3 P, float bias); -uvec4 texture(samplerCube sampler, vec3 P); -uvec4 texture(isamplerCube sampler, vec3 P, float bias); -uvec4 texture(isamplerCube sampler, vec3 P); uvec4 texture(usamplerCube sampler, vec3 P, float bias); -uvec4 texture(usamplerCube sampler, vec3 P); -dvec4 texture(samplerCube sampler, vec3 P, float bias); -dvec4 texture(samplerCube sampler, vec3 P); -dvec4 texture(isamplerCube sampler, vec3 P, float bias); -dvec4 texture(isamplerCube sampler, vec3 P); -dvec4 texture(usamplerCube sampler, vec3 P, float bias); -dvec4 texture(usamplerCube sampler, vec3 P); +ivec4 texture(isamplerCube sampler, vec3 P, float bias); float texture(sampler1DShadow sampler, vec3 P, float bias); -float texture(sampler1DShadow sampler, vec3 P); float texture(sampler2DShadow sampler, vec3 P, float bias); -float texture(sampler2DShadow sampler, vec3 P); float texture(samplerCubeShadow sampler, vec4 P, float bias); -float texture(samplerCubeShadow sampler, vec4 P); vec4 texture(sampler1DArray sampler, vec2 P, float bias); -vec4 texture(sampler1DArray sampler, vec2 P); -vec4 texture(isampler1DArray sampler, vec2 P, float bias); -vec4 texture(isampler1DArray sampler, vec2 P); -vec4 texture(usampler1DArray sampler, vec2 P, float bias); -vec4 texture(usampler1DArray sampler, vec2 P); -ivec4 texture(sampler1DArray sampler, vec2 P, float bias); -ivec4 texture(sampler1DArray sampler, vec2 P); -ivec4 texture(isampler1DArray sampler, vec2 P, float bias); -ivec4 texture(isampler1DArray sampler, vec2 P); -ivec4 texture(usampler1DArray sampler, vec2 P, float bias); -ivec4 texture(usampler1DArray sampler, vec2 P); -uvec4 texture(sampler1DArray sampler, vec2 P, float bias); -uvec4 texture(sampler1DArray sampler, vec2 P); -uvec4 texture(isampler1DArray sampler, vec2 P, float bias); -uvec4 texture(isampler1DArray sampler, vec2 P); uvec4 texture(usampler1DArray sampler, vec2 P, float bias); -uvec4 texture(usampler1DArray sampler, vec2 P); -dvec4 texture(sampler1DArray sampler, vec2 P, float bias); -dvec4 texture(sampler1DArray sampler, vec2 P); -dvec4 texture(isampler1DArray sampler, vec2 P, float bias); -dvec4 texture(isampler1DArray sampler, vec2 P); -dvec4 texture(usampler1DArray sampler, vec2 P, float bias); -dvec4 texture(usampler1DArray sampler, vec2 P); +ivec4 texture(isampler1DArray sampler, vec2 P, float bias); vec4 texture(sampler2DArray sampler, vec3 P, float bias); -vec4 texture(sampler2DArray sampler, vec3 P); -vec4 texture(isampler2DArray sampler, vec3 P, float bias); -vec4 texture(isampler2DArray sampler, vec3 P); -vec4 texture(usampler2DArray sampler, vec3 P, float bias); -vec4 texture(usampler2DArray sampler, vec3 P); -ivec4 texture(sampler2DArray sampler, vec3 P, float bias); -ivec4 texture(sampler2DArray sampler, vec3 P); -ivec4 texture(isampler2DArray sampler, vec3 P, float bias); -ivec4 texture(isampler2DArray sampler, vec3 P); -ivec4 texture(usampler2DArray sampler, vec3 P, float bias); -ivec4 texture(usampler2DArray sampler, vec3 P); -uvec4 texture(sampler2DArray sampler, vec3 P, float bias); -uvec4 texture(sampler2DArray sampler, vec3 P); -uvec4 texture(isampler2DArray sampler, vec3 P, float bias); -uvec4 texture(isampler2DArray sampler, vec3 P); uvec4 texture(usampler2DArray sampler, vec3 P, float bias); -uvec4 texture(usampler2DArray sampler, vec3 P); -dvec4 texture(sampler2DArray sampler, vec3 P, float bias); -dvec4 texture(sampler2DArray sampler, vec3 P); -dvec4 texture(isampler2DArray sampler, vec3 P, float bias); -dvec4 texture(isampler2DArray sampler, vec3 P); -dvec4 texture(usampler2DArray sampler, vec3 P, float bias); -dvec4 texture(usampler2DArray sampler, vec3 P); +ivec4 texture(isampler2DArray sampler, vec3 P, float bias); vec4 texture(samplerCubeArray sampler, vec4 P, float bias); -vec4 texture(samplerCubeArray sampler, vec4 P); -vec4 texture(isamplerCubeArray sampler, vec4 P, float bias); -vec4 texture(isamplerCubeArray sampler, vec4 P); -vec4 texture(usamplerCubeArray sampler, vec4 P, float bias); -vec4 texture(usamplerCubeArray sampler, vec4 P); -ivec4 texture(samplerCubeArray sampler, vec4 P, float bias); -ivec4 texture(samplerCubeArray sampler, vec4 P); -ivec4 texture(isamplerCubeArray sampler, vec4 P, float bias); -ivec4 texture(isamplerCubeArray sampler, vec4 P); -ivec4 texture(usamplerCubeArray sampler, vec4 P, float bias); -ivec4 texture(usamplerCubeArray sampler, vec4 P); -uvec4 texture(samplerCubeArray sampler, vec4 P, float bias); -uvec4 texture(samplerCubeArray sampler, vec4 P); -uvec4 texture(isamplerCubeArray sampler, vec4 P, float bias); -uvec4 texture(isamplerCubeArray sampler, vec4 P); uvec4 texture(usamplerCubeArray sampler, vec4 P, float bias); -uvec4 texture(usamplerCubeArray sampler, vec4 P); -dvec4 texture(samplerCubeArray sampler, vec4 P, float bias); -dvec4 texture(samplerCubeArray sampler, vec4 P); -dvec4 texture(isamplerCubeArray sampler, vec4 P, float bias); -dvec4 texture(isamplerCubeArray sampler, vec4 P); -dvec4 texture(usamplerCubeArray sampler, vec4 P, float bias); -dvec4 texture(usamplerCubeArray sampler, vec4 P); +ivec4 texture(isamplerCubeArray sampler, vec4 P, float bias); float texture(sampler1DArrayShadow sampler, vec3 P, float bias); -float texture(sampler1DArrayShadow sampler, vec3 P); float texture(sampler2DArrayShadow sampler, vec4 P, float bias); -float texture(sampler2DArrayShadow sampler, vec4 P); vec4 texture(sampler2DRect sampler, vec2 P); -vec4 texture(isampler2DRect sampler, vec2 P); -vec4 texture(usampler2DRect sampler, vec2 P); -ivec4 texture(sampler2DRect sampler, vec2 P); -ivec4 texture(isampler2DRect sampler, vec2 P); -ivec4 texture(usampler2DRect sampler, vec2 P); -uvec4 texture(sampler2DRect sampler, vec2 P); -uvec4 texture(isampler2DRect sampler, vec2 P); uvec4 texture(usampler2DRect sampler, vec2 P); -dvec4 texture(sampler2DRect sampler, vec2 P); -dvec4 texture(isampler2DRect sampler, vec2 P); -dvec4 texture(usampler2DRect sampler, vec2 P); +ivec4 texture(isampler2DRect sampler, vec2 P); float texture(sampler2DRectShadow sampler, vec3 P); float texture(samplerCubeArrayShadow sampler, vec4 P, float compare); vec4 textureGather(sampler2D sampler, vec2 P, int comp); -vec4 textureGather(sampler2D sampler, vec2 P); -vec4 textureGather(isampler2D sampler, vec2 P, int comp); -vec4 textureGather(isampler2D sampler, vec2 P); -vec4 textureGather(usampler2D sampler, vec2 P, int comp); -vec4 textureGather(usampler2D sampler, vec2 P); -ivec4 textureGather(sampler2D sampler, vec2 P, int comp); -ivec4 textureGather(sampler2D sampler, vec2 P); -ivec4 textureGather(isampler2D sampler, vec2 P, int comp); -ivec4 textureGather(isampler2D sampler, vec2 P); -ivec4 textureGather(usampler2D sampler, vec2 P, int comp); -ivec4 textureGather(usampler2D sampler, vec2 P); -uvec4 textureGather(sampler2D sampler, vec2 P, int comp); -uvec4 textureGather(sampler2D sampler, vec2 P); -uvec4 textureGather(isampler2D sampler, vec2 P, int comp); -uvec4 textureGather(isampler2D sampler, vec2 P); uvec4 textureGather(usampler2D sampler, vec2 P, int comp); -uvec4 textureGather(usampler2D sampler, vec2 P); -dvec4 textureGather(sampler2D sampler, vec2 P, int comp); -dvec4 textureGather(sampler2D sampler, vec2 P); -dvec4 textureGather(isampler2D sampler, vec2 P, int comp); -dvec4 textureGather(isampler2D sampler, vec2 P); -dvec4 textureGather(usampler2D sampler, vec2 P, int comp); -dvec4 textureGather(usampler2D sampler, vec2 P); +ivec4 textureGather(isampler2D sampler, vec2 P, int comp); vec4 textureGather(sampler2DArray sampler, vec3 P, int comp); -vec4 textureGather(sampler2DArray sampler, vec3 P); -vec4 textureGather(isampler2DArray sampler, vec3 P, int comp); -vec4 textureGather(isampler2DArray sampler, vec3 P); -vec4 textureGather(usampler2DArray sampler, vec3 P, int comp); -vec4 textureGather(usampler2DArray sampler, vec3 P); -ivec4 textureGather(sampler2DArray sampler, vec3 P, int comp); -ivec4 textureGather(sampler2DArray sampler, vec3 P); -ivec4 textureGather(isampler2DArray sampler, vec3 P, int comp); -ivec4 textureGather(isampler2DArray sampler, vec3 P); -ivec4 textureGather(usampler2DArray sampler, vec3 P, int comp); -ivec4 textureGather(usampler2DArray sampler, vec3 P); -uvec4 textureGather(sampler2DArray sampler, vec3 P, int comp); -uvec4 textureGather(sampler2DArray sampler, vec3 P); -uvec4 textureGather(isampler2DArray sampler, vec3 P, int comp); -uvec4 textureGather(isampler2DArray sampler, vec3 P); uvec4 textureGather(usampler2DArray sampler, vec3 P, int comp); -uvec4 textureGather(usampler2DArray sampler, vec3 P); -dvec4 textureGather(sampler2DArray sampler, vec3 P, int comp); -dvec4 textureGather(sampler2DArray sampler, vec3 P); -dvec4 textureGather(isampler2DArray sampler, vec3 P, int comp); -dvec4 textureGather(isampler2DArray sampler, vec3 P); -dvec4 textureGather(usampler2DArray sampler, vec3 P, int comp); -dvec4 textureGather(usampler2DArray sampler, vec3 P); +ivec4 textureGather(isampler2DArray sampler, vec3 P, int comp); vec4 textureGather(samplerCube sampler, vec3 P, int comp); -vec4 textureGather(samplerCube sampler, vec3 P); -vec4 textureGather(isamplerCube sampler, vec3 P, int comp); -vec4 textureGather(isamplerCube sampler, vec3 P); -vec4 textureGather(usamplerCube sampler, vec3 P, int comp); -vec4 textureGather(usamplerCube sampler, vec3 P); -ivec4 textureGather(samplerCube sampler, vec3 P, int comp); -ivec4 textureGather(samplerCube sampler, vec3 P); -ivec4 textureGather(isamplerCube sampler, vec3 P, int comp); -ivec4 textureGather(isamplerCube sampler, vec3 P); -ivec4 textureGather(usamplerCube sampler, vec3 P, int comp); -ivec4 textureGather(usamplerCube sampler, vec3 P); -uvec4 textureGather(samplerCube sampler, vec3 P, int comp); -uvec4 textureGather(samplerCube sampler, vec3 P); -uvec4 textureGather(isamplerCube sampler, vec3 P, int comp); -uvec4 textureGather(isamplerCube sampler, vec3 P); uvec4 textureGather(usamplerCube sampler, vec3 P, int comp); -uvec4 textureGather(usamplerCube sampler, vec3 P); -dvec4 textureGather(samplerCube sampler, vec3 P, int comp); -dvec4 textureGather(samplerCube sampler, vec3 P); -dvec4 textureGather(isamplerCube sampler, vec3 P, int comp); -dvec4 textureGather(isamplerCube sampler, vec3 P); -dvec4 textureGather(usamplerCube sampler, vec3 P, int comp); -dvec4 textureGather(usamplerCube sampler, vec3 P); +ivec4 textureGather(isamplerCube sampler, vec3 P, int comp); vec4 textureGather(samplerCubeArray sampler, vec4 P, int comp); -vec4 textureGather(samplerCubeArray sampler, vec4 P); -vec4 textureGather(isamplerCubeArray sampler, vec4 P, int comp); -vec4 textureGather(isamplerCubeArray sampler, vec4 P); -vec4 textureGather(usamplerCubeArray sampler, vec4 P, int comp); -vec4 textureGather(usamplerCubeArray sampler, vec4 P); -ivec4 textureGather(samplerCubeArray sampler, vec4 P, int comp); -ivec4 textureGather(samplerCubeArray sampler, vec4 P); -ivec4 textureGather(isamplerCubeArray sampler, vec4 P, int comp); -ivec4 textureGather(isamplerCubeArray sampler, vec4 P); -ivec4 textureGather(usamplerCubeArray sampler, vec4 P, int comp); -ivec4 textureGather(usamplerCubeArray sampler, vec4 P); -uvec4 textureGather(samplerCubeArray sampler, vec4 P, int comp); -uvec4 textureGather(samplerCubeArray sampler, vec4 P); -uvec4 textureGather(isamplerCubeArray sampler, vec4 P, int comp); -uvec4 textureGather(isamplerCubeArray sampler, vec4 P); uvec4 textureGather(usamplerCubeArray sampler, vec4 P, int comp); -uvec4 textureGather(usamplerCubeArray sampler, vec4 P); -dvec4 textureGather(samplerCubeArray sampler, vec4 P, int comp); -dvec4 textureGather(samplerCubeArray sampler, vec4 P); -dvec4 textureGather(isamplerCubeArray sampler, vec4 P, int comp); -dvec4 textureGather(isamplerCubeArray sampler, vec4 P); -dvec4 textureGather(usamplerCubeArray sampler, vec4 P, int comp); -dvec4 textureGather(usamplerCubeArray sampler, vec4 P); +ivec4 textureGather(isamplerCubeArray sampler, vec4 P, int comp); vec4 textureGather(sampler2DRect sampler, vec3 P, int comp); -vec4 textureGather(sampler2DRect sampler, vec3 P); -vec4 textureGather(isampler2DRect sampler, vec3 P, int comp); -vec4 textureGather(isampler2DRect sampler, vec3 P); -vec4 textureGather(usampler2DRect sampler, vec3 P, int comp); -vec4 textureGather(usampler2DRect sampler, vec3 P); -ivec4 textureGather(sampler2DRect sampler, vec3 P, int comp); -ivec4 textureGather(sampler2DRect sampler, vec3 P); -ivec4 textureGather(isampler2DRect sampler, vec3 P, int comp); -ivec4 textureGather(isampler2DRect sampler, vec3 P); -ivec4 textureGather(usampler2DRect sampler, vec3 P, int comp); -ivec4 textureGather(usampler2DRect sampler, vec3 P); -uvec4 textureGather(sampler2DRect sampler, vec3 P, int comp); -uvec4 textureGather(sampler2DRect sampler, vec3 P); -uvec4 textureGather(isampler2DRect sampler, vec3 P, int comp); -uvec4 textureGather(isampler2DRect sampler, vec3 P); uvec4 textureGather(usampler2DRect sampler, vec3 P, int comp); -uvec4 textureGather(usampler2DRect sampler, vec3 P); -dvec4 textureGather(sampler2DRect sampler, vec3 P, int comp); -dvec4 textureGather(sampler2DRect sampler, vec3 P); -dvec4 textureGather(isampler2DRect sampler, vec3 P, int comp); -dvec4 textureGather(isampler2DRect sampler, vec3 P); -dvec4 textureGather(usampler2DRect sampler, vec3 P, int comp); -dvec4 textureGather(usampler2DRect sampler, vec3 P); +ivec4 textureGather(isampler2DRect sampler, vec3 P, int comp); vec4 textureGather(sampler2DShadow sampler, vec2 P, float refZ); vec4 textureGather(sampler2DArrayShadow sampler, vec3 P, float refZ); vec4 textureGather(samplerCubeShadow sampler, vec3 P, float refZ); @@ -2612,1253 +1680,311 @@ vec4 textureGather(samplerCubeArrayShadow sampler, vec4 P, float refZ); vec4 textureGather(sampler2DRectShadow sampler, vec2 P, float refZ); vec4 textureGatherOffset(sampler2D sampler, vec2 P, ivec2 offset, int comp); -vec4 textureGatherOffset(sampler2D sampler, vec2 P, ivec2 offset); -vec4 textureGatherOffset(isampler2D sampler, vec2 P, ivec2 offset, int comp); -vec4 textureGatherOffset(isampler2D sampler, vec2 P, ivec2 offset); -vec4 textureGatherOffset(usampler2D sampler, vec2 P, ivec2 offset, int comp); -vec4 textureGatherOffset(usampler2D sampler, vec2 P, ivec2 offset); -ivec4 textureGatherOffset(sampler2D sampler, vec2 P, ivec2 offset, int comp); -ivec4 textureGatherOffset(sampler2D sampler, vec2 P, ivec2 offset); -ivec4 textureGatherOffset(isampler2D sampler, vec2 P, ivec2 offset, int comp); -ivec4 textureGatherOffset(isampler2D sampler, vec2 P, ivec2 offset); -ivec4 textureGatherOffset(usampler2D sampler, vec2 P, ivec2 offset, int comp); -ivec4 textureGatherOffset(usampler2D sampler, vec2 P, ivec2 offset); -uvec4 textureGatherOffset(sampler2D sampler, vec2 P, ivec2 offset, int comp); -uvec4 textureGatherOffset(sampler2D sampler, vec2 P, ivec2 offset); -uvec4 textureGatherOffset(isampler2D sampler, vec2 P, ivec2 offset, int comp); -uvec4 textureGatherOffset(isampler2D sampler, vec2 P, ivec2 offset); uvec4 textureGatherOffset(usampler2D sampler, vec2 P, ivec2 offset, int comp); -uvec4 textureGatherOffset(usampler2D sampler, vec2 P, ivec2 offset); -dvec4 textureGatherOffset(sampler2D sampler, vec2 P, ivec2 offset, int comp); -dvec4 textureGatherOffset(sampler2D sampler, vec2 P, ivec2 offset); -dvec4 textureGatherOffset(isampler2D sampler, vec2 P, ivec2 offset, int comp); -dvec4 textureGatherOffset(isampler2D sampler, vec2 P, ivec2 offset); -dvec4 textureGatherOffset(usampler2D sampler, vec2 P, ivec2 offset, int comp); -dvec4 textureGatherOffset(usampler2D sampler, vec2 P, ivec2 offset); +ivec4 textureGatherOffset(isampler2D sampler, vec2 P, ivec2 offset, int comp); vec4 textureGatherOffset(sampler2DArray sampler, vec3 P, ivec2 offset, int comp); -vec4 textureGatherOffset(sampler2DArray sampler, vec3 P, ivec2 offset); -vec4 textureGatherOffset(isampler2DArray sampler, vec3 P, ivec2 offset, int comp); -vec4 textureGatherOffset(isampler2DArray sampler, vec3 P, ivec2 offset); -vec4 textureGatherOffset(usampler2DArray sampler, vec3 P, ivec2 offset, int comp); -vec4 textureGatherOffset(usampler2DArray sampler, vec3 P, ivec2 offset); -ivec4 textureGatherOffset(sampler2DArray sampler, vec3 P, ivec2 offset, int comp); -ivec4 textureGatherOffset(sampler2DArray sampler, vec3 P, ivec2 offset); -ivec4 textureGatherOffset(isampler2DArray sampler, vec3 P, ivec2 offset, int comp); -ivec4 textureGatherOffset(isampler2DArray sampler, vec3 P, ivec2 offset); -ivec4 textureGatherOffset(usampler2DArray sampler, vec3 P, ivec2 offset, int comp); -ivec4 textureGatherOffset(usampler2DArray sampler, vec3 P, ivec2 offset); -uvec4 textureGatherOffset(sampler2DArray sampler, vec3 P, ivec2 offset, int comp); -uvec4 textureGatherOffset(sampler2DArray sampler, vec3 P, ivec2 offset); -uvec4 textureGatherOffset(isampler2DArray sampler, vec3 P, ivec2 offset, int comp); -uvec4 textureGatherOffset(isampler2DArray sampler, vec3 P, ivec2 offset); uvec4 textureGatherOffset(usampler2DArray sampler, vec3 P, ivec2 offset, int comp); -uvec4 textureGatherOffset(usampler2DArray sampler, vec3 P, ivec2 offset); -dvec4 textureGatherOffset(sampler2DArray sampler, vec3 P, ivec2 offset, int comp); -dvec4 textureGatherOffset(sampler2DArray sampler, vec3 P, ivec2 offset); -dvec4 textureGatherOffset(isampler2DArray sampler, vec3 P, ivec2 offset, int comp); -dvec4 textureGatherOffset(isampler2DArray sampler, vec3 P, ivec2 offset); -dvec4 textureGatherOffset(usampler2DArray sampler, vec3 P, ivec2 offset, int comp); -dvec4 textureGatherOffset(usampler2DArray sampler, vec3 P, ivec2 offset); +ivec4 textureGatherOffset(isampler2DArray sampler, vec3 P, ivec2 offset, int comp); vec4 textureGatherOffset(sampler2DRect sampler, vec3 P, ivec2 offset, int comp); -vec4 textureGatherOffset(sampler2DRect sampler, vec3 P, ivec2 offset); -vec4 textureGatherOffset(isampler2DRect sampler, vec3 P, ivec2 offset, int comp); -vec4 textureGatherOffset(isampler2DRect sampler, vec3 P, ivec2 offset); -vec4 textureGatherOffset(usampler2DRect sampler, vec3 P, ivec2 offset, int comp); -vec4 textureGatherOffset(usampler2DRect sampler, vec3 P, ivec2 offset); -ivec4 textureGatherOffset(sampler2DRect sampler, vec3 P, ivec2 offset, int comp); -ivec4 textureGatherOffset(sampler2DRect sampler, vec3 P, ivec2 offset); -ivec4 textureGatherOffset(isampler2DRect sampler, vec3 P, ivec2 offset, int comp); -ivec4 textureGatherOffset(isampler2DRect sampler, vec3 P, ivec2 offset); -ivec4 textureGatherOffset(usampler2DRect sampler, vec3 P, ivec2 offset, int comp); -ivec4 textureGatherOffset(usampler2DRect sampler, vec3 P, ivec2 offset); -uvec4 textureGatherOffset(sampler2DRect sampler, vec3 P, ivec2 offset, int comp); -uvec4 textureGatherOffset(sampler2DRect sampler, vec3 P, ivec2 offset); -uvec4 textureGatherOffset(isampler2DRect sampler, vec3 P, ivec2 offset, int comp); -uvec4 textureGatherOffset(isampler2DRect sampler, vec3 P, ivec2 offset); uvec4 textureGatherOffset(usampler2DRect sampler, vec3 P, ivec2 offset, int comp); -uvec4 textureGatherOffset(usampler2DRect sampler, vec3 P, ivec2 offset); -dvec4 textureGatherOffset(sampler2DRect sampler, vec3 P, ivec2 offset, int comp); -dvec4 textureGatherOffset(sampler2DRect sampler, vec3 P, ivec2 offset); -dvec4 textureGatherOffset(isampler2DRect sampler, vec3 P, ivec2 offset, int comp); -dvec4 textureGatherOffset(isampler2DRect sampler, vec3 P, ivec2 offset); -dvec4 textureGatherOffset(usampler2DRect sampler, vec3 P, ivec2 offset, int comp); -dvec4 textureGatherOffset(usampler2DRect sampler, vec3 P, ivec2 offset); +ivec4 textureGatherOffset(isampler2DRect sampler, vec3 P, ivec2 offset, int comp); vec4 textureGatherOffset(sampler2DShadow sampler, vec2 P, float refZ, ivec2 offset); vec4 textureGatherOffset(sampler2DArrayShadow sampler, vec3 P, float refZ, ivec2 offset); vec4 textureGatherOffset(sampler2DRectShadow sampler, vec2 P, float refZ, ivec2 offset); vec4 textureGatherOffsets(sampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -vec4 textureGatherOffsets(sampler2D sampler, vec2 P, ivec2 offsets[4]); -vec4 textureGatherOffsets(isampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -vec4 textureGatherOffsets(isampler2D sampler, vec2 P, ivec2 offsets[4]); -vec4 textureGatherOffsets(usampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -vec4 textureGatherOffsets(usampler2D sampler, vec2 P, ivec2 offsets[4]); -ivec4 textureGatherOffsets(sampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -ivec4 textureGatherOffsets(sampler2D sampler, vec2 P, ivec2 offsets[4]); -ivec4 textureGatherOffsets(isampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -ivec4 textureGatherOffsets(isampler2D sampler, vec2 P, ivec2 offsets[4]); -ivec4 textureGatherOffsets(usampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -ivec4 textureGatherOffsets(usampler2D sampler, vec2 P, ivec2 offsets[4]); -uvec4 textureGatherOffsets(sampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -uvec4 textureGatherOffsets(sampler2D sampler, vec2 P, ivec2 offsets[4]); -uvec4 textureGatherOffsets(isampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -uvec4 textureGatherOffsets(isampler2D sampler, vec2 P, ivec2 offsets[4]); uvec4 textureGatherOffsets(usampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -uvec4 textureGatherOffsets(usampler2D sampler, vec2 P, ivec2 offsets[4]); -dvec4 textureGatherOffsets(sampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -dvec4 textureGatherOffsets(sampler2D sampler, vec2 P, ivec2 offsets[4]); -dvec4 textureGatherOffsets(isampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -dvec4 textureGatherOffsets(isampler2D sampler, vec2 P, ivec2 offsets[4]); -dvec4 textureGatherOffsets(usampler2D sampler, vec2 P, ivec2 offsets[4], int comp); -dvec4 textureGatherOffsets(usampler2D sampler, vec2 P, ivec2 offsets[4]); +ivec4 textureGatherOffsets(isampler2D sampler, vec2 P, ivec2 offsets[4], int comp); vec4 textureGatherOffsets(sampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -vec4 textureGatherOffsets(sampler2DArray sampler, vec3 P, ivec2 offsets[4]); -vec4 textureGatherOffsets(isampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -vec4 textureGatherOffsets(isampler2DArray sampler, vec3 P, ivec2 offsets[4]); -vec4 textureGatherOffsets(usampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -vec4 textureGatherOffsets(usampler2DArray sampler, vec3 P, ivec2 offsets[4]); -ivec4 textureGatherOffsets(sampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -ivec4 textureGatherOffsets(sampler2DArray sampler, vec3 P, ivec2 offsets[4]); -ivec4 textureGatherOffsets(isampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -ivec4 textureGatherOffsets(isampler2DArray sampler, vec3 P, ivec2 offsets[4]); -ivec4 textureGatherOffsets(usampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -ivec4 textureGatherOffsets(usampler2DArray sampler, vec3 P, ivec2 offsets[4]); -uvec4 textureGatherOffsets(sampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -uvec4 textureGatherOffsets(sampler2DArray sampler, vec3 P, ivec2 offsets[4]); -uvec4 textureGatherOffsets(isampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -uvec4 textureGatherOffsets(isampler2DArray sampler, vec3 P, ivec2 offsets[4]); uvec4 textureGatherOffsets(usampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -uvec4 textureGatherOffsets(usampler2DArray sampler, vec3 P, ivec2 offsets[4]); -dvec4 textureGatherOffsets(sampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -dvec4 textureGatherOffsets(sampler2DArray sampler, vec3 P, ivec2 offsets[4]); -dvec4 textureGatherOffsets(isampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -dvec4 textureGatherOffsets(isampler2DArray sampler, vec3 P, ivec2 offsets[4]); -dvec4 textureGatherOffsets(usampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); -dvec4 textureGatherOffsets(usampler2DArray sampler, vec3 P, ivec2 offsets[4]); +ivec4 textureGatherOffsets(isampler2DArray sampler, vec3 P, ivec2 offsets[4], int comp); vec4 textureGatherOffsets(sampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -vec4 textureGatherOffsets(sampler2DRect sampler, vec3 P, ivec2 offsets[4]); -vec4 textureGatherOffsets(isampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -vec4 textureGatherOffsets(isampler2DRect sampler, vec3 P, ivec2 offsets[4]); -vec4 textureGatherOffsets(usampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -vec4 textureGatherOffsets(usampler2DRect sampler, vec3 P, ivec2 offsets[4]); -ivec4 textureGatherOffsets(sampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -ivec4 textureGatherOffsets(sampler2DRect sampler, vec3 P, ivec2 offsets[4]); -ivec4 textureGatherOffsets(isampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -ivec4 textureGatherOffsets(isampler2DRect sampler, vec3 P, ivec2 offsets[4]); -ivec4 textureGatherOffsets(usampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -ivec4 textureGatherOffsets(usampler2DRect sampler, vec3 P, ivec2 offsets[4]); -uvec4 textureGatherOffsets(sampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -uvec4 textureGatherOffsets(sampler2DRect sampler, vec3 P, ivec2 offsets[4]); -uvec4 textureGatherOffsets(isampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -uvec4 textureGatherOffsets(isampler2DRect sampler, vec3 P, ivec2 offsets[4]); uvec4 textureGatherOffsets(usampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -uvec4 textureGatherOffsets(usampler2DRect sampler, vec3 P, ivec2 offsets[4]); -dvec4 textureGatherOffsets(sampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -dvec4 textureGatherOffsets(sampler2DRect sampler, vec3 P, ivec2 offsets[4]); -dvec4 textureGatherOffsets(isampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -dvec4 textureGatherOffsets(isampler2DRect sampler, vec3 P, ivec2 offsets[4]); -dvec4 textureGatherOffsets(usampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); -dvec4 textureGatherOffsets(usampler2DRect sampler, vec3 P, ivec2 offsets[4]); +ivec4 textureGatherOffsets(isampler2DRect sampler, vec3 P, ivec2 offsets[4], int comp); vec4 textureGatherOffsets(sampler2DShadow sampler, vec2 P, float refZ, ivec2 offsets[4]); vec4 textureGatherOffsets(sampler2DArrayShadow sampler, vec3 P, float refZ, ivec2 offsets[4]); vec4 textureGatherOffsets(sampler2DRectShadow sampler, vec2 P, float refZ, ivec2 offsets[4]); vec4 textureGrad(sampler1D sampler, float P, float dPdx, float dPdy); -vec4 textureGrad(isampler1D sampler, float P, float dPdx, float dPdy); -vec4 textureGrad(usampler1D sampler, float P, float dPdx, float dPdy); -ivec4 textureGrad(sampler1D sampler, float P, float dPdx, float dPdy); -ivec4 textureGrad(isampler1D sampler, float P, float dPdx, float dPdy); -ivec4 textureGrad(usampler1D sampler, float P, float dPdx, float dPdy); -uvec4 textureGrad(sampler1D sampler, float P, float dPdx, float dPdy); -uvec4 textureGrad(isampler1D sampler, float P, float dPdx, float dPdy); uvec4 textureGrad(usampler1D sampler, float P, float dPdx, float dPdy); -dvec4 textureGrad(sampler1D sampler, float P, float dPdx, float dPdy); -dvec4 textureGrad(isampler1D sampler, float P, float dPdx, float dPdy); -dvec4 textureGrad(usampler1D sampler, float P, float dPdx, float dPdy); +ivec4 textureGrad(isampler1D sampler, float P, float dPdx, float dPdy); vec4 textureGrad(sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -vec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -vec4 textureGrad(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -ivec4 textureGrad(sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -ivec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -ivec4 textureGrad(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -uvec4 textureGrad(sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -uvec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); uvec4 textureGrad(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -dvec4 textureGrad(sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -dvec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); -dvec4 textureGrad(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); +ivec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy); vec4 textureGrad(sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -vec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -vec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -ivec4 textureGrad(sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -ivec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -ivec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -uvec4 textureGrad(sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -uvec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); uvec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -dvec4 textureGrad(sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -dvec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); -dvec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); +ivec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy); vec4 textureGrad(samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -vec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -vec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -ivec4 textureGrad(samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -ivec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -ivec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -uvec4 textureGrad(samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -uvec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); uvec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -dvec4 textureGrad(samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -dvec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); -dvec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); +ivec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy); vec4 textureGrad(sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -vec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -vec4 textureGrad(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -ivec4 textureGrad(sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -ivec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -ivec4 textureGrad(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -uvec4 textureGrad(sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -uvec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); uvec4 textureGrad(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -dvec4 textureGrad(sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -dvec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); -dvec4 textureGrad(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); +ivec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy); float textureGrad(sampler2DRectShadow sampler, vec3 P, vec2 dPdx, vec2 dPdy); float textureGrad(sampler1DShadow sampler, vec3 P, float dPdx, float dPdy); vec4 textureGrad(sampler1DArray sampler, vec2 P, float dPdx, float dPdy); -vec4 textureGrad(isampler1DArray sampler, vec2 P, float dPdx, float dPdy); -vec4 textureGrad(usampler1DArray sampler, vec2 P, float dPdx, float dPdy); -ivec4 textureGrad(sampler1DArray sampler, vec2 P, float dPdx, float dPdy); -ivec4 textureGrad(isampler1DArray sampler, vec2 P, float dPdx, float dPdy); -ivec4 textureGrad(usampler1DArray sampler, vec2 P, float dPdx, float dPdy); -uvec4 textureGrad(sampler1DArray sampler, vec2 P, float dPdx, float dPdy); -uvec4 textureGrad(isampler1DArray sampler, vec2 P, float dPdx, float dPdy); uvec4 textureGrad(usampler1DArray sampler, vec2 P, float dPdx, float dPdy); -dvec4 textureGrad(sampler1DArray sampler, vec2 P, float dPdx, float dPdy); -dvec4 textureGrad(isampler1DArray sampler, vec2 P, float dPdx, float dPdy); -dvec4 textureGrad(usampler1DArray sampler, vec2 P, float dPdx, float dPdy); +ivec4 textureGrad(isampler1DArray sampler, vec2 P, float dPdx, float dPdy); vec4 textureGrad(sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -vec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -vec4 textureGrad(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -ivec4 textureGrad(sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -ivec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -ivec4 textureGrad(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -uvec4 textureGrad(sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -uvec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); uvec4 textureGrad(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -dvec4 textureGrad(sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -dvec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); -dvec4 textureGrad(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); +ivec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy); float textureGrad(sampler1DArrayShadow sampler, vec3 P, float dPdx, float dPdy); float textureGrad(sampler2DShadow sampler, vec3 P, vec2 dPdx, vec2 dPdy); float textureGrad(samplerCubeShadow sampler, vec4 P, vec3 dPdx, vec3 dPdy); float textureGrad(sampler2DArrayShadow sampler, vec4 P, vec2 dPdx, vec2 dPdy); vec4 textureGrad(samplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -vec4 textureGrad(isamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -vec4 textureGrad(usamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -ivec4 textureGrad(samplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -ivec4 textureGrad(isamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -ivec4 textureGrad(usamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -uvec4 textureGrad(samplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -uvec4 textureGrad(isamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); uvec4 textureGrad(usamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -dvec4 textureGrad(samplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -dvec4 textureGrad(isamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -dvec4 textureGrad(usamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); +ivec4 textureGrad(isamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); vec4 textureGradOffset(sampler1D sampler, float P, float dPdx, float dPdy, int offset); -vec4 textureGradOffset(isampler1D sampler, float P, float dPdx, float dPdy, int offset); -vec4 textureGradOffset(usampler1D sampler, float P, float dPdx, float dPdy, int offset); -ivec4 textureGradOffset(sampler1D sampler, float P, float dPdx, float dPdy, int offset); -ivec4 textureGradOffset(isampler1D sampler, float P, float dPdx, float dPdy, int offset); -ivec4 textureGradOffset(usampler1D sampler, float P, float dPdx, float dPdy, int offset); -uvec4 textureGradOffset(sampler1D sampler, float P, float dPdx, float dPdy, int offset); -uvec4 textureGradOffset(isampler1D sampler, float P, float dPdx, float dPdy, int offset); uvec4 textureGradOffset(usampler1D sampler, float P, float dPdx, float dPdy, int offset); -dvec4 textureGradOffset(sampler1D sampler, float P, float dPdx, float dPdy, int offset); -dvec4 textureGradOffset(isampler1D sampler, float P, float dPdx, float dPdy, int offset); -dvec4 textureGradOffset(usampler1D sampler, float P, float dPdx, float dPdy, int offset); +ivec4 textureGradOffset(isampler1D sampler, float P, float dPdx, float dPdy, int offset); vec4 textureGradOffset(sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureGradOffset(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureGradOffset(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureGradOffset(sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureGradOffset(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureGradOffset(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureGradOffset(sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureGradOffset(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); uvec4 textureGradOffset(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureGradOffset(sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureGradOffset(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureGradOffset(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); +ivec4 textureGradOffset(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); vec4 textureGradOffset(sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -vec4 textureGradOffset(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -vec4 textureGradOffset(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -ivec4 textureGradOffset(sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -ivec4 textureGradOffset(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -ivec4 textureGradOffset(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -uvec4 textureGradOffset(sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -uvec4 textureGradOffset(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); uvec4 textureGradOffset(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -dvec4 textureGradOffset(sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -dvec4 textureGradOffset(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -dvec4 textureGradOffset(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); +ivec4 textureGradOffset(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy, ivec3 offset); vec4 textureGradOffset(sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureGradOffset(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureGradOffset(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureGradOffset(sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureGradOffset(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureGradOffset(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureGradOffset(sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureGradOffset(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); uvec4 textureGradOffset(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureGradOffset(sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureGradOffset(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureGradOffset(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); +ivec4 textureGradOffset(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy, ivec2 offset); float textureGradOffset(sampler2DRectShadow sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); float textureGradOffset(sampler1DShadow sampler, vec3 P, float dPdx, float dPdy, int offset); float textureGradOffset(sampler2DShadow sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); vec4 textureGradOffset(sampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -vec4 textureGradOffset(isampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -vec4 textureGradOffset(usampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -ivec4 textureGradOffset(sampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -ivec4 textureGradOffset(isampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -ivec4 textureGradOffset(usampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -uvec4 textureGradOffset(sampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -uvec4 textureGradOffset(isampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); uvec4 textureGradOffset(usampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -dvec4 textureGradOffset(sampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -dvec4 textureGradOffset(isampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); -dvec4 textureGradOffset(usampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); +ivec4 textureGradOffset(isampler1DArray sampler, vec2 P, float dPdx, float dPdy, int offset); vec4 textureGradOffset(sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureGradOffset(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureGradOffset(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureGradOffset(sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureGradOffset(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureGradOffset(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureGradOffset(sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureGradOffset(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); uvec4 textureGradOffset(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureGradOffset(sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureGradOffset(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureGradOffset(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); +ivec4 textureGradOffset(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); float textureGradOffset(sampler1DArrayShadow sampler, vec3 P, float dPdx, float dPdy, int offset); float textureGradOffset(sampler2DArrayShadow sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); vec4 textureLod(sampler1D sampler, float P, float lod); -vec4 textureLod(isampler1D sampler, float P, float lod); -vec4 textureLod(usampler1D sampler, float P, float lod); -ivec4 textureLod(sampler1D sampler, float P, float lod); -ivec4 textureLod(isampler1D sampler, float P, float lod); -ivec4 textureLod(usampler1D sampler, float P, float lod); -uvec4 textureLod(sampler1D sampler, float P, float lod); -uvec4 textureLod(isampler1D sampler, float P, float lod); uvec4 textureLod(usampler1D sampler, float P, float lod); -dvec4 textureLod(sampler1D sampler, float P, float lod); -dvec4 textureLod(isampler1D sampler, float P, float lod); -dvec4 textureLod(usampler1D sampler, float P, float lod); +ivec4 textureLod(isampler1D sampler, float P, float lod); vec4 textureLod(sampler2D sampler, vec2 P, float lod); -vec4 textureLod(isampler2D sampler, vec2 P, float lod); -vec4 textureLod(usampler2D sampler, vec2 P, float lod); -ivec4 textureLod(sampler2D sampler, vec2 P, float lod); -ivec4 textureLod(isampler2D sampler, vec2 P, float lod); -ivec4 textureLod(usampler2D sampler, vec2 P, float lod); -uvec4 textureLod(sampler2D sampler, vec2 P, float lod); -uvec4 textureLod(isampler2D sampler, vec2 P, float lod); uvec4 textureLod(usampler2D sampler, vec2 P, float lod); -dvec4 textureLod(sampler2D sampler, vec2 P, float lod); -dvec4 textureLod(isampler2D sampler, vec2 P, float lod); -dvec4 textureLod(usampler2D sampler, vec2 P, float lod); +ivec4 textureLod(isampler2D sampler, vec2 P, float lod); vec4 textureLod(sampler3D sampler, vec3 P, float lod); -vec4 textureLod(isampler3D sampler, vec3 P, float lod); -vec4 textureLod(usampler3D sampler, vec3 P, float lod); -ivec4 textureLod(sampler3D sampler, vec3 P, float lod); -ivec4 textureLod(isampler3D sampler, vec3 P, float lod); -ivec4 textureLod(usampler3D sampler, vec3 P, float lod); -uvec4 textureLod(sampler3D sampler, vec3 P, float lod); -uvec4 textureLod(isampler3D sampler, vec3 P, float lod); uvec4 textureLod(usampler3D sampler, vec3 P, float lod); -dvec4 textureLod(sampler3D sampler, vec3 P, float lod); -dvec4 textureLod(isampler3D sampler, vec3 P, float lod); -dvec4 textureLod(usampler3D sampler, vec3 P, float lod); +ivec4 textureLod(isampler3D sampler, vec3 P, float lod); vec4 textureLod(samplerCube sampler, vec3 P, float lod); -vec4 textureLod(isamplerCube sampler, vec3 P, float lod); -vec4 textureLod(usamplerCube sampler, vec3 P, float lod); -ivec4 textureLod(samplerCube sampler, vec3 P, float lod); -ivec4 textureLod(isamplerCube sampler, vec3 P, float lod); -ivec4 textureLod(usamplerCube sampler, vec3 P, float lod); -uvec4 textureLod(samplerCube sampler, vec3 P, float lod); -uvec4 textureLod(isamplerCube sampler, vec3 P, float lod); uvec4 textureLod(usamplerCube sampler, vec3 P, float lod); -dvec4 textureLod(samplerCube sampler, vec3 P, float lod); -dvec4 textureLod(isamplerCube sampler, vec3 P, float lod); -dvec4 textureLod(usamplerCube sampler, vec3 P, float lod); +ivec4 textureLod(isamplerCube sampler, vec3 P, float lod); float textureLod(sampler1DShadow sampler, vec3 P, float lod); float textureLod(sampler2DShadow sampler, vec3 P, float lod); vec4 textureLod(sampler1DArray sampler, vec2 P, float lod); -vec4 textureLod(isampler1DArray sampler, vec2 P, float lod); -vec4 textureLod(usampler1DArray sampler, vec2 P, float lod); -ivec4 textureLod(sampler1DArray sampler, vec2 P, float lod); -ivec4 textureLod(isampler1DArray sampler, vec2 P, float lod); -ivec4 textureLod(usampler1DArray sampler, vec2 P, float lod); -uvec4 textureLod(sampler1DArray sampler, vec2 P, float lod); -uvec4 textureLod(isampler1DArray sampler, vec2 P, float lod); uvec4 textureLod(usampler1DArray sampler, vec2 P, float lod); -dvec4 textureLod(sampler1DArray sampler, vec2 P, float lod); -dvec4 textureLod(isampler1DArray sampler, vec2 P, float lod); -dvec4 textureLod(usampler1DArray sampler, vec2 P, float lod); +ivec4 textureLod(isampler1DArray sampler, vec2 P, float lod); vec4 textureLod(sampler2DArray sampler, vec3 P, float lod); -vec4 textureLod(isampler2DArray sampler, vec3 P, float lod); -vec4 textureLod(usampler2DArray sampler, vec3 P, float lod); -ivec4 textureLod(sampler2DArray sampler, vec3 P, float lod); -ivec4 textureLod(isampler2DArray sampler, vec3 P, float lod); -ivec4 textureLod(usampler2DArray sampler, vec3 P, float lod); -uvec4 textureLod(sampler2DArray sampler, vec3 P, float lod); -uvec4 textureLod(isampler2DArray sampler, vec3 P, float lod); uvec4 textureLod(usampler2DArray sampler, vec3 P, float lod); -dvec4 textureLod(sampler2DArray sampler, vec3 P, float lod); -dvec4 textureLod(isampler2DArray sampler, vec3 P, float lod); -dvec4 textureLod(usampler2DArray sampler, vec3 P, float lod); +ivec4 textureLod(isampler2DArray sampler, vec3 P, float lod); float textureLod(sampler1DArrayShadow sampler, vec3 P, float lod); vec4 textureLod(samplerCubeArray sampler, vec4 P, float lod); -vec4 textureLod(isamplerCubeArray sampler, vec4 P, float lod); -vec4 textureLod(usamplerCubeArray sampler, vec4 P, float lod); -ivec4 textureLod(samplerCubeArray sampler, vec4 P, float lod); -ivec4 textureLod(isamplerCubeArray sampler, vec4 P, float lod); -ivec4 textureLod(usamplerCubeArray sampler, vec4 P, float lod); -uvec4 textureLod(samplerCubeArray sampler, vec4 P, float lod); -uvec4 textureLod(isamplerCubeArray sampler, vec4 P, float lod); uvec4 textureLod(usamplerCubeArray sampler, vec4 P, float lod); -dvec4 textureLod(samplerCubeArray sampler, vec4 P, float lod); -dvec4 textureLod(isamplerCubeArray sampler, vec4 P, float lod); -dvec4 textureLod(usamplerCubeArray sampler, vec4 P, float lod); +ivec4 textureLod(isamplerCubeArray sampler, vec4 P, float lod); vec4 textureLodOffset(sampler1D sampler, float P, float lod, int offset); -vec4 textureLodOffset(isampler1D sampler, float P, float lod, int offset); -vec4 textureLodOffset(usampler1D sampler, float P, float lod, int offset); -ivec4 textureLodOffset(sampler1D sampler, float P, float lod, int offset); -ivec4 textureLodOffset(isampler1D sampler, float P, float lod, int offset); -ivec4 textureLodOffset(usampler1D sampler, float P, float lod, int offset); -uvec4 textureLodOffset(sampler1D sampler, float P, float lod, int offset); -uvec4 textureLodOffset(isampler1D sampler, float P, float lod, int offset); uvec4 textureLodOffset(usampler1D sampler, float P, float lod, int offset); -dvec4 textureLodOffset(sampler1D sampler, float P, float lod, int offset); -dvec4 textureLodOffset(isampler1D sampler, float P, float lod, int offset); -dvec4 textureLodOffset(usampler1D sampler, float P, float lod, int offset); +ivec4 textureLodOffset(isampler1D sampler, float P, float lod, int offset); vec4 textureLodOffset(sampler2D sampler, vec2 P, float lod, ivec2 offset); -vec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset); -vec4 textureLodOffset(usampler2D sampler, vec2 P, float lod, ivec2 offset); -ivec4 textureLodOffset(sampler2D sampler, vec2 P, float lod, ivec2 offset); -ivec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset); -ivec4 textureLodOffset(usampler2D sampler, vec2 P, float lod, ivec2 offset); -uvec4 textureLodOffset(sampler2D sampler, vec2 P, float lod, ivec2 offset); -uvec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset); uvec4 textureLodOffset(usampler2D sampler, vec2 P, float lod, ivec2 offset); -dvec4 textureLodOffset(sampler2D sampler, vec2 P, float lod, ivec2 offset); -dvec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset); -dvec4 textureLodOffset(usampler2D sampler, vec2 P, float lod, ivec2 offset); +ivec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset); vec4 textureLodOffset(sampler3D sampler, vec3 P, float lod, ivec3 offset); -vec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset); -vec4 textureLodOffset(usampler3D sampler, vec3 P, float lod, ivec3 offset); -ivec4 textureLodOffset(sampler3D sampler, vec3 P, float lod, ivec3 offset); -ivec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset); -ivec4 textureLodOffset(usampler3D sampler, vec3 P, float lod, ivec3 offset); -uvec4 textureLodOffset(sampler3D sampler, vec3 P, float lod, ivec3 offset); -uvec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset); uvec4 textureLodOffset(usampler3D sampler, vec3 P, float lod, ivec3 offset); -dvec4 textureLodOffset(sampler3D sampler, vec3 P, float lod, ivec3 offset); -dvec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset); -dvec4 textureLodOffset(usampler3D sampler, vec3 P, float lod, ivec3 offset); +ivec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset); float textureLodOffset(sampler1DShadow sampler, vec3 P, float lod, int offset); float textureLodOffset(sampler2DShadow sampler, vec3 P, float lod, ivec2 offset); vec4 textureLodOffset(sampler1DArray sampler, vec2 P, float lod, int offset); -vec4 textureLodOffset(isampler1DArray sampler, vec2 P, float lod, int offset); -vec4 textureLodOffset(usampler1DArray sampler, vec2 P, float lod, int offset); -ivec4 textureLodOffset(sampler1DArray sampler, vec2 P, float lod, int offset); -ivec4 textureLodOffset(isampler1DArray sampler, vec2 P, float lod, int offset); -ivec4 textureLodOffset(usampler1DArray sampler, vec2 P, float lod, int offset); -uvec4 textureLodOffset(sampler1DArray sampler, vec2 P, float lod, int offset); -uvec4 textureLodOffset(isampler1DArray sampler, vec2 P, float lod, int offset); uvec4 textureLodOffset(usampler1DArray sampler, vec2 P, float lod, int offset); -dvec4 textureLodOffset(sampler1DArray sampler, vec2 P, float lod, int offset); -dvec4 textureLodOffset(isampler1DArray sampler, vec2 P, float lod, int offset); -dvec4 textureLodOffset(usampler1DArray sampler, vec2 P, float lod, int offset); +ivec4 textureLodOffset(isampler1DArray sampler, vec2 P, float lod, int offset); vec4 textureLodOffset(sampler2DArray sampler, vec3 P, float lod, ivec2 offset); -vec4 textureLodOffset(isampler2DArray sampler, vec3 P, float lod, ivec2 offset); -vec4 textureLodOffset(usampler2DArray sampler, vec3 P, float lod, ivec2 offset); -ivec4 textureLodOffset(sampler2DArray sampler, vec3 P, float lod, ivec2 offset); -ivec4 textureLodOffset(isampler2DArray sampler, vec3 P, float lod, ivec2 offset); -ivec4 textureLodOffset(usampler2DArray sampler, vec3 P, float lod, ivec2 offset); -uvec4 textureLodOffset(sampler2DArray sampler, vec3 P, float lod, ivec2 offset); -uvec4 textureLodOffset(isampler2DArray sampler, vec3 P, float lod, ivec2 offset); uvec4 textureLodOffset(usampler2DArray sampler, vec3 P, float lod, ivec2 offset); -dvec4 textureLodOffset(sampler2DArray sampler, vec3 P, float lod, ivec2 offset); -dvec4 textureLodOffset(isampler2DArray sampler, vec3 P, float lod, ivec2 offset); -dvec4 textureLodOffset(usampler2DArray sampler, vec3 P, float lod, ivec2 offset); +ivec4 textureLodOffset(isampler2DArray sampler, vec3 P, float lod, ivec2 offset); float textureLodOffset(sampler1DArrayShadow sampler, vec3 P, float lod, int offset); vec4 textureOffset(sampler1D sampler, float P, int offset, float bias); -vec4 textureOffset(sampler1D sampler, float P, int offset); -vec4 textureOffset(isampler1D sampler, float P, int offset, float bias); -vec4 textureOffset(isampler1D sampler, float P, int offset); -vec4 textureOffset(usampler1D sampler, float P, int offset, float bias); -vec4 textureOffset(usampler1D sampler, float P, int offset); -ivec4 textureOffset(sampler1D sampler, float P, int offset, float bias); -ivec4 textureOffset(sampler1D sampler, float P, int offset); -ivec4 textureOffset(isampler1D sampler, float P, int offset, float bias); -ivec4 textureOffset(isampler1D sampler, float P, int offset); -ivec4 textureOffset(usampler1D sampler, float P, int offset, float bias); -ivec4 textureOffset(usampler1D sampler, float P, int offset); -uvec4 textureOffset(sampler1D sampler, float P, int offset, float bias); -uvec4 textureOffset(sampler1D sampler, float P, int offset); -uvec4 textureOffset(isampler1D sampler, float P, int offset, float bias); -uvec4 textureOffset(isampler1D sampler, float P, int offset); uvec4 textureOffset(usampler1D sampler, float P, int offset, float bias); -uvec4 textureOffset(usampler1D sampler, float P, int offset); -dvec4 textureOffset(sampler1D sampler, float P, int offset, float bias); -dvec4 textureOffset(sampler1D sampler, float P, int offset); -dvec4 textureOffset(isampler1D sampler, float P, int offset, float bias); -dvec4 textureOffset(isampler1D sampler, float P, int offset); -dvec4 textureOffset(usampler1D sampler, float P, int offset, float bias); -dvec4 textureOffset(usampler1D sampler, float P, int offset); +ivec4 textureOffset(isampler1D sampler, float P, int offset, float bias); vec4 textureOffset(sampler2D sampler, vec2 P, ivec2 offset, float bias); -vec4 textureOffset(sampler2D sampler, vec2 P, ivec2 offset); -vec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias); -vec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset); -vec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias); -vec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset); -ivec4 textureOffset(sampler2D sampler, vec2 P, ivec2 offset, float bias); -ivec4 textureOffset(sampler2D sampler, vec2 P, ivec2 offset); -ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias); -ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset); -ivec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias); -ivec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset); -uvec4 textureOffset(sampler2D sampler, vec2 P, ivec2 offset, float bias); -uvec4 textureOffset(sampler2D sampler, vec2 P, ivec2 offset); -uvec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias); -uvec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset); uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias); -uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset); -dvec4 textureOffset(sampler2D sampler, vec2 P, ivec2 offset, float bias); -dvec4 textureOffset(sampler2D sampler, vec2 P, ivec2 offset); -dvec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias); -dvec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset); -dvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias); -dvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset); +ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias); vec4 textureOffset(sampler3D sampler, vec3 P, ivec3 offset, float bias); -vec4 textureOffset(sampler3D sampler, vec3 P, ivec3 offset); -vec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias); -vec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset); -vec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias); -vec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset); -ivec4 textureOffset(sampler3D sampler, vec3 P, ivec3 offset, float bias); -ivec4 textureOffset(sampler3D sampler, vec3 P, ivec3 offset); -ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias); -ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset); -ivec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias); -ivec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset); -uvec4 textureOffset(sampler3D sampler, vec3 P, ivec3 offset, float bias); -uvec4 textureOffset(sampler3D sampler, vec3 P, ivec3 offset); -uvec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias); -uvec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset); uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias); -uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset); -dvec4 textureOffset(sampler3D sampler, vec3 P, ivec3 offset, float bias); -dvec4 textureOffset(sampler3D sampler, vec3 P, ivec3 offset); -dvec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias); -dvec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset); -dvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias); -dvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset); +ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias); vec4 textureOffset(sampler2DRect sampler, vec2 P, ivec2 offset); -vec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset); -vec4 textureOffset(usampler2DRect sampler, vec2 P, ivec2 offset); -ivec4 textureOffset(sampler2DRect sampler, vec2 P, ivec2 offset); -ivec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset); -ivec4 textureOffset(usampler2DRect sampler, vec2 P, ivec2 offset); -uvec4 textureOffset(sampler2DRect sampler, vec2 P, ivec2 offset); -uvec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset); uvec4 textureOffset(usampler2DRect sampler, vec2 P, ivec2 offset); -dvec4 textureOffset(sampler2DRect sampler, vec2 P, ivec2 offset); -dvec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset); -dvec4 textureOffset(usampler2DRect sampler, vec2 P, ivec2 offset); +ivec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset); float textureOffset(sampler2DRectShadow sampler, vec3 P, ivec2 offset); float textureOffset(sampler1DShadow sampler, vec3 P, int offset, float bias); -float textureOffset(sampler1DShadow sampler, vec3 P, int offset); float textureOffset(sampler2DShadow sampler, vec4 P, ivec2 offset, float bias); -float textureOffset(sampler2DShadow sampler, vec4 P, ivec2 offset); vec4 textureOffset(sampler1DArray sampler, vec2 P, int offset, float bias); -vec4 textureOffset(sampler1DArray sampler, vec2 P, int offset); -vec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias); -vec4 textureOffset(isampler1DArray sampler, vec2 P, int offset); -vec4 textureOffset(usampler1DArray sampler, vec2 P, int offset, float bias); -vec4 textureOffset(usampler1DArray sampler, vec2 P, int offset); -ivec4 textureOffset(sampler1DArray sampler, vec2 P, int offset, float bias); -ivec4 textureOffset(sampler1DArray sampler, vec2 P, int offset); -ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias); -ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset); -ivec4 textureOffset(usampler1DArray sampler, vec2 P, int offset, float bias); -ivec4 textureOffset(usampler1DArray sampler, vec2 P, int offset); -uvec4 textureOffset(sampler1DArray sampler, vec2 P, int offset, float bias); -uvec4 textureOffset(sampler1DArray sampler, vec2 P, int offset); -uvec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias); -uvec4 textureOffset(isampler1DArray sampler, vec2 P, int offset); uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset, float bias); -uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset); -dvec4 textureOffset(sampler1DArray sampler, vec2 P, int offset, float bias); -dvec4 textureOffset(sampler1DArray sampler, vec2 P, int offset); -dvec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias); -dvec4 textureOffset(isampler1DArray sampler, vec2 P, int offset); -dvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset, float bias); -dvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset); +ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias); vec4 textureOffset(sampler2DArray sampler, vec3 P, ivec2 offset, float bias); -vec4 textureOffset(sampler2DArray sampler, vec3 P, ivec2 offset); -vec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias); -vec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset); -vec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias); -vec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset); -ivec4 textureOffset(sampler2DArray sampler, vec3 P, ivec2 offset, float bias); -ivec4 textureOffset(sampler2DArray sampler, vec3 P, ivec2 offset); -ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias); -ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset); -ivec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias); -ivec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset); -uvec4 textureOffset(sampler2DArray sampler, vec3 P, ivec2 offset, float bias); -uvec4 textureOffset(sampler2DArray sampler, vec3 P, ivec2 offset); -uvec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias); -uvec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset); uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias); -uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset); -dvec4 textureOffset(sampler2DArray sampler, vec3 P, ivec2 offset, float bias); -dvec4 textureOffset(sampler2DArray sampler, vec3 P, ivec2 offset); -dvec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias); -dvec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset); -dvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias); -dvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset); +ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias); float textureOffset(sampler1DArrayShadow sampler, vec3 P, int offset); float textureOffset(sampler2DArrayShadow sampler, vec4 P, vec2 offset); vec4 textureProj(sampler1D sampler, vec2 P, float bias); -vec4 textureProj(sampler1D sampler, vec2 P); -vec4 textureProj(isampler1D sampler, vec2 P, float bias); -vec4 textureProj(isampler1D sampler, vec2 P); -vec4 textureProj(usampler1D sampler, vec2 P, float bias); -vec4 textureProj(usampler1D sampler, vec2 P); -ivec4 textureProj(sampler1D sampler, vec2 P, float bias); -ivec4 textureProj(sampler1D sampler, vec2 P); -ivec4 textureProj(isampler1D sampler, vec2 P, float bias); -ivec4 textureProj(isampler1D sampler, vec2 P); -ivec4 textureProj(usampler1D sampler, vec2 P, float bias); -ivec4 textureProj(usampler1D sampler, vec2 P); -uvec4 textureProj(sampler1D sampler, vec2 P, float bias); -uvec4 textureProj(sampler1D sampler, vec2 P); -uvec4 textureProj(isampler1D sampler, vec2 P, float bias); -uvec4 textureProj(isampler1D sampler, vec2 P); uvec4 textureProj(usampler1D sampler, vec2 P, float bias); -uvec4 textureProj(usampler1D sampler, vec2 P); -dvec4 textureProj(sampler1D sampler, vec2 P, float bias); -dvec4 textureProj(sampler1D sampler, vec2 P); -dvec4 textureProj(isampler1D sampler, vec2 P, float bias); -dvec4 textureProj(isampler1D sampler, vec2 P); -dvec4 textureProj(usampler1D sampler, vec2 P, float bias); -dvec4 textureProj(usampler1D sampler, vec2 P); +ivec4 textureProj(isampler1D sampler, vec2 P, float bias); vec4 textureProj(sampler1D sampler, vec4 P, float bias); -vec4 textureProj(sampler1D sampler, vec4 P); -vec4 textureProj(isampler1D sampler, vec4 P, float bias); -vec4 textureProj(isampler1D sampler, vec4 P); -vec4 textureProj(usampler1D sampler, vec4 P, float bias); -vec4 textureProj(usampler1D sampler, vec4 P); -ivec4 textureProj(sampler1D sampler, vec4 P, float bias); -ivec4 textureProj(sampler1D sampler, vec4 P); -ivec4 textureProj(isampler1D sampler, vec4 P, float bias); -ivec4 textureProj(isampler1D sampler, vec4 P); -ivec4 textureProj(usampler1D sampler, vec4 P, float bias); -ivec4 textureProj(usampler1D sampler, vec4 P); -uvec4 textureProj(sampler1D sampler, vec4 P, float bias); -uvec4 textureProj(sampler1D sampler, vec4 P); -uvec4 textureProj(isampler1D sampler, vec4 P, float bias); -uvec4 textureProj(isampler1D sampler, vec4 P); uvec4 textureProj(usampler1D sampler, vec4 P, float bias); -uvec4 textureProj(usampler1D sampler, vec4 P); -dvec4 textureProj(sampler1D sampler, vec4 P, float bias); -dvec4 textureProj(sampler1D sampler, vec4 P); -dvec4 textureProj(isampler1D sampler, vec4 P, float bias); -dvec4 textureProj(isampler1D sampler, vec4 P); -dvec4 textureProj(usampler1D sampler, vec4 P, float bias); -dvec4 textureProj(usampler1D sampler, vec4 P); +ivec4 textureProj(isampler1D sampler, vec4 P, float bias); vec4 textureProj(sampler2D sampler, vec3 P, float bias); -vec4 textureProj(sampler2D sampler, vec3 P); -vec4 textureProj(isampler2D sampler, vec3 P, float bias); -vec4 textureProj(isampler2D sampler, vec3 P); -vec4 textureProj(usampler2D sampler, vec3 P, float bias); -vec4 textureProj(usampler2D sampler, vec3 P); -ivec4 textureProj(sampler2D sampler, vec3 P, float bias); -ivec4 textureProj(sampler2D sampler, vec3 P); -ivec4 textureProj(isampler2D sampler, vec3 P, float bias); -ivec4 textureProj(isampler2D sampler, vec3 P); -ivec4 textureProj(usampler2D sampler, vec3 P, float bias); -ivec4 textureProj(usampler2D sampler, vec3 P); -uvec4 textureProj(sampler2D sampler, vec3 P, float bias); -uvec4 textureProj(sampler2D sampler, vec3 P); -uvec4 textureProj(isampler2D sampler, vec3 P, float bias); -uvec4 textureProj(isampler2D sampler, vec3 P); uvec4 textureProj(usampler2D sampler, vec3 P, float bias); -uvec4 textureProj(usampler2D sampler, vec3 P); -dvec4 textureProj(sampler2D sampler, vec3 P, float bias); -dvec4 textureProj(sampler2D sampler, vec3 P); -dvec4 textureProj(isampler2D sampler, vec3 P, float bias); -dvec4 textureProj(isampler2D sampler, vec3 P); -dvec4 textureProj(usampler2D sampler, vec3 P, float bias); -dvec4 textureProj(usampler2D sampler, vec3 P); +ivec4 textureProj(isampler2D sampler, vec3 P, float bias); vec4 textureProj(sampler2D sampler, vec4 P, float bias); -vec4 textureProj(sampler2D sampler, vec4 P); -vec4 textureProj(isampler2D sampler, vec4 P, float bias); -vec4 textureProj(isampler2D sampler, vec4 P); -vec4 textureProj(usampler2D sampler, vec4 P, float bias); -vec4 textureProj(usampler2D sampler, vec4 P); -ivec4 textureProj(sampler2D sampler, vec4 P, float bias); -ivec4 textureProj(sampler2D sampler, vec4 P); -ivec4 textureProj(isampler2D sampler, vec4 P, float bias); -ivec4 textureProj(isampler2D sampler, vec4 P); -ivec4 textureProj(usampler2D sampler, vec4 P, float bias); -ivec4 textureProj(usampler2D sampler, vec4 P); -uvec4 textureProj(sampler2D sampler, vec4 P, float bias); -uvec4 textureProj(sampler2D sampler, vec4 P); -uvec4 textureProj(isampler2D sampler, vec4 P, float bias); -uvec4 textureProj(isampler2D sampler, vec4 P); uvec4 textureProj(usampler2D sampler, vec4 P, float bias); -uvec4 textureProj(usampler2D sampler, vec4 P); -dvec4 textureProj(sampler2D sampler, vec4 P, float bias); -dvec4 textureProj(sampler2D sampler, vec4 P); -dvec4 textureProj(isampler2D sampler, vec4 P, float bias); -dvec4 textureProj(isampler2D sampler, vec4 P); -dvec4 textureProj(usampler2D sampler, vec4 P, float bias); -dvec4 textureProj(usampler2D sampler, vec4 P); +ivec4 textureProj(isampler2D sampler, vec4 P, float bias); vec4 textureProj(sampler3D sampler, vec4 P, float bias); -vec4 textureProj(sampler3D sampler, vec4 P); -vec4 textureProj(isampler3D sampler, vec4 P, float bias); -vec4 textureProj(isampler3D sampler, vec4 P); -vec4 textureProj(usampler3D sampler, vec4 P, float bias); -vec4 textureProj(usampler3D sampler, vec4 P); -ivec4 textureProj(sampler3D sampler, vec4 P, float bias); -ivec4 textureProj(sampler3D sampler, vec4 P); -ivec4 textureProj(isampler3D sampler, vec4 P, float bias); -ivec4 textureProj(isampler3D sampler, vec4 P); -ivec4 textureProj(usampler3D sampler, vec4 P, float bias); -ivec4 textureProj(usampler3D sampler, vec4 P); -uvec4 textureProj(sampler3D sampler, vec4 P, float bias); -uvec4 textureProj(sampler3D sampler, vec4 P); -uvec4 textureProj(isampler3D sampler, vec4 P, float bias); -uvec4 textureProj(isampler3D sampler, vec4 P); uvec4 textureProj(usampler3D sampler, vec4 P, float bias); -uvec4 textureProj(usampler3D sampler, vec4 P); -dvec4 textureProj(sampler3D sampler, vec4 P, float bias); -dvec4 textureProj(sampler3D sampler, vec4 P); -dvec4 textureProj(isampler3D sampler, vec4 P, float bias); -dvec4 textureProj(isampler3D sampler, vec4 P); -dvec4 textureProj(usampler3D sampler, vec4 P, float bias); -dvec4 textureProj(usampler3D sampler, vec4 P); +ivec4 textureProj(isampler3D sampler, vec4 P, float bias); float textureProj(sampler1DShadow sampler, vec4 P, float bias); -float textureProj(sampler1DShadow sampler, vec4 P); float textureProj(sampler2DShadow sampler, vec4 P, float bias); -float textureProj(sampler2DShadow sampler, vec4 P); vec4 textureProj(sampler2DRect sampler, vec3 P); -vec4 textureProj(isampler2DRect sampler, vec3 P); -vec4 textureProj(usampler2DRect sampler, vec3 P); -ivec4 textureProj(sampler2DRect sampler, vec3 P); -ivec4 textureProj(isampler2DRect sampler, vec3 P); -ivec4 textureProj(usampler2DRect sampler, vec3 P); -uvec4 textureProj(sampler2DRect sampler, vec3 P); -uvec4 textureProj(isampler2DRect sampler, vec3 P); uvec4 textureProj(usampler2DRect sampler, vec3 P); -dvec4 textureProj(sampler2DRect sampler, vec3 P); -dvec4 textureProj(isampler2DRect sampler, vec3 P); -dvec4 textureProj(usampler2DRect sampler, vec3 P); +ivec4 textureProj(isampler2DRect sampler, vec3 P); vec4 textureProj(sampler2DRect sampler, vec4 P); -vec4 textureProj(isampler2DRect sampler, vec4 P); -vec4 textureProj(usampler2DRect sampler, vec4 P); -ivec4 textureProj(sampler2DRect sampler, vec4 P); -ivec4 textureProj(isampler2DRect sampler, vec4 P); -ivec4 textureProj(usampler2DRect sampler, vec4 P); -uvec4 textureProj(sampler2DRect sampler, vec4 P); -uvec4 textureProj(isampler2DRect sampler, vec4 P); uvec4 textureProj(usampler2DRect sampler, vec4 P); -dvec4 textureProj(sampler2DRect sampler, vec4 P); -dvec4 textureProj(isampler2DRect sampler, vec4 P); -dvec4 textureProj(usampler2DRect sampler, vec4 P); +ivec4 textureProj(isampler2DRect sampler, vec4 P); float textureProj(sampler2DRectShadow sampler, vec4 P); vec4 textureProjGrad(sampler1D sampler, vec2 P, float pDx, float pDy); -vec4 textureProjGrad(isampler1D sampler, vec2 P, float pDx, float pDy); -vec4 textureProjGrad(usampler1D sampler, vec2 P, float pDx, float pDy); -ivec4 textureProjGrad(sampler1D sampler, vec2 P, float pDx, float pDy); -ivec4 textureProjGrad(isampler1D sampler, vec2 P, float pDx, float pDy); -ivec4 textureProjGrad(usampler1D sampler, vec2 P, float pDx, float pDy); -uvec4 textureProjGrad(sampler1D sampler, vec2 P, float pDx, float pDy); -uvec4 textureProjGrad(isampler1D sampler, vec2 P, float pDx, float pDy); uvec4 textureProjGrad(usampler1D sampler, vec2 P, float pDx, float pDy); -dvec4 textureProjGrad(sampler1D sampler, vec2 P, float pDx, float pDy); -dvec4 textureProjGrad(isampler1D sampler, vec2 P, float pDx, float pDy); -dvec4 textureProjGrad(usampler1D sampler, vec2 P, float pDx, float pDy); +ivec4 textureProjGrad(isampler1D sampler, vec2 P, float pDx, float pDy); vec4 textureProjGrad(sampler1D sampler, vec4 P, float pDx, float pDy); -vec4 textureProjGrad(isampler1D sampler, vec4 P, float pDx, float pDy); -vec4 textureProjGrad(usampler1D sampler, vec4 P, float pDx, float pDy); -ivec4 textureProjGrad(sampler1D sampler, vec4 P, float pDx, float pDy); -ivec4 textureProjGrad(isampler1D sampler, vec4 P, float pDx, float pDy); -ivec4 textureProjGrad(usampler1D sampler, vec4 P, float pDx, float pDy); -uvec4 textureProjGrad(sampler1D sampler, vec4 P, float pDx, float pDy); -uvec4 textureProjGrad(isampler1D sampler, vec4 P, float pDx, float pDy); uvec4 textureProjGrad(usampler1D sampler, vec4 P, float pDx, float pDy); -dvec4 textureProjGrad(sampler1D sampler, vec4 P, float pDx, float pDy); -dvec4 textureProjGrad(isampler1D sampler, vec4 P, float pDx, float pDy); -dvec4 textureProjGrad(usampler1D sampler, vec4 P, float pDx, float pDy); +ivec4 textureProjGrad(isampler1D sampler, vec4 P, float pDx, float pDy); vec4 textureProjGrad(sampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -vec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -vec4 textureProjGrad(usampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(sampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(usampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -uvec4 textureProjGrad(sampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -uvec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); uvec4 textureProjGrad(usampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(sampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(usampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); +ivec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 pDx, vec2 pDy); vec4 textureProjGrad(sampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -vec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -vec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(sampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -uvec4 textureProjGrad(sampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -uvec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); uvec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(sampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); +ivec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 pDx, vec2 pDy); vec4 textureProjGrad(sampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -vec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -vec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -ivec4 textureProjGrad(sampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -ivec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -ivec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -uvec4 textureProjGrad(sampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -uvec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); uvec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -dvec4 textureProjGrad(sampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -dvec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); -dvec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); +ivec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 pDx, vec3 pDy); float textureProjGrad(sampler1DShadow sampler, vec4 P, float pDx, float pDy); float textureProjGrad(sampler2DShadow sampler, vec4 P, vec2 pDx, vec2 pDy); vec4 textureProjGrad(sampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -vec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -vec4 textureProjGrad(usampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(sampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(usampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -uvec4 textureProjGrad(sampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -uvec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); uvec4 textureProjGrad(usampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(sampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(usampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); +ivec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 pDx, vec2 pDy); vec4 textureProjGrad(sampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -vec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -vec4 textureProjGrad(usampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(sampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -ivec4 textureProjGrad(usampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -uvec4 textureProjGrad(sampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -uvec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); uvec4 textureProjGrad(usampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(sampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); -dvec4 textureProjGrad(usampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); +ivec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 pDx, vec2 pDy); float textureProjGrad(sampler2DRectShadow sampler, vec4 P, vec2 pDx, vec2 pDy); vec4 textureProjGradOffset(sampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -vec4 textureProjGradOffset(isampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -vec4 textureProjGradOffset(usampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -ivec4 textureProjGradOffset(sampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -ivec4 textureProjGradOffset(isampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -ivec4 textureProjGradOffset(usampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -uvec4 textureProjGradOffset(sampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -uvec4 textureProjGradOffset(isampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); uvec4 textureProjGradOffset(usampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -dvec4 textureProjGradOffset(sampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -dvec4 textureProjGradOffset(isampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); -dvec4 textureProjGradOffset(usampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); +ivec4 textureProjGradOffset(isampler1D sampler, vec2 P, float dPdx, float dPdy, int offset); vec4 textureProjGradOffset(sampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -vec4 textureProjGradOffset(isampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -vec4 textureProjGradOffset(usampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -ivec4 textureProjGradOffset(sampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -ivec4 textureProjGradOffset(isampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -ivec4 textureProjGradOffset(usampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -uvec4 textureProjGradOffset(sampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -uvec4 textureProjGradOffset(isampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); uvec4 textureProjGradOffset(usampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -dvec4 textureProjGradOffset(sampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -dvec4 textureProjGradOffset(isampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); -dvec4 textureProjGradOffset(usampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); +ivec4 textureProjGradOffset(isampler1D sampler, vec4 P, float dPdx, float dPdy, int offset); vec4 textureProjGradOffset(sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureProjGradOffset(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureProjGradOffset(usampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(usampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureProjGradOffset(sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureProjGradOffset(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); uvec4 textureProjGradOffset(usampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(usampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); +ivec4 textureProjGradOffset(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); vec4 textureProjGradOffset(sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureProjGradOffset(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureProjGradOffset(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureProjGradOffset(sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureProjGradOffset(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); uvec4 textureProjGradOffset(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); +ivec4 textureProjGradOffset(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); vec4 textureProjGradOffset(sampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -vec4 textureProjGradOffset(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -vec4 textureProjGradOffset(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -ivec4 textureProjGradOffset(sampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -ivec4 textureProjGradOffset(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -ivec4 textureProjGradOffset(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -uvec4 textureProjGradOffset(sampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -uvec4 textureProjGradOffset(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); uvec4 textureProjGradOffset(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -dvec4 textureProjGradOffset(sampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -dvec4 textureProjGradOffset(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); -dvec4 textureProjGradOffset(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); +ivec4 textureProjGradOffset(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy, ivec3 offset); float textureProjGradOffset(sampler1DShadow sampler, vec4 P, float dPdx, float dPdy, int offset); float textureProjGradOffset(sampler2DShadow sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); vec4 textureProjGradOffset(sampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureProjGradOffset(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureProjGradOffset(usampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(sampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(usampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureProjGradOffset(sampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureProjGradOffset(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); uvec4 textureProjGradOffset(usampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(sampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(usampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); +ivec4 textureProjGradOffset(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy, ivec2 offset); vec4 textureProjGradOffset(sampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureProjGradOffset(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -vec4 textureProjGradOffset(usampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(sampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -ivec4 textureProjGradOffset(usampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureProjGradOffset(sampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -uvec4 textureProjGradOffset(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); uvec4 textureProjGradOffset(usampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(sampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); -dvec4 textureProjGradOffset(usampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); +ivec4 textureProjGradOffset(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); float textureProjGradOffset(sampler2DRectShadow sampler, vec4 P, vec2 dPdx, vec2 dPdy, ivec2 offset); vec4 textureProjLod(sampler1D sampler, vec2 P, float lod); -vec4 textureProjLod(isampler1D sampler, vec2 P, float lod); -vec4 textureProjLod(usampler1D sampler, vec2 P, float lod); -ivec4 textureProjLod(sampler1D sampler, vec2 P, float lod); -ivec4 textureProjLod(isampler1D sampler, vec2 P, float lod); -ivec4 textureProjLod(usampler1D sampler, vec2 P, float lod); -uvec4 textureProjLod(sampler1D sampler, vec2 P, float lod); -uvec4 textureProjLod(isampler1D sampler, vec2 P, float lod); uvec4 textureProjLod(usampler1D sampler, vec2 P, float lod); -dvec4 textureProjLod(sampler1D sampler, vec2 P, float lod); -dvec4 textureProjLod(isampler1D sampler, vec2 P, float lod); -dvec4 textureProjLod(usampler1D sampler, vec2 P, float lod); +ivec4 textureProjLod(isampler1D sampler, vec2 P, float lod); vec4 textureProjLod(sampler1D sampler, vec4 P, float lod); -vec4 textureProjLod(isampler1D sampler, vec4 P, float lod); -vec4 textureProjLod(usampler1D sampler, vec4 P, float lod); -ivec4 textureProjLod(sampler1D sampler, vec4 P, float lod); -ivec4 textureProjLod(isampler1D sampler, vec4 P, float lod); -ivec4 textureProjLod(usampler1D sampler, vec4 P, float lod); -uvec4 textureProjLod(sampler1D sampler, vec4 P, float lod); -uvec4 textureProjLod(isampler1D sampler, vec4 P, float lod); uvec4 textureProjLod(usampler1D sampler, vec4 P, float lod); -dvec4 textureProjLod(sampler1D sampler, vec4 P, float lod); -dvec4 textureProjLod(isampler1D sampler, vec4 P, float lod); -dvec4 textureProjLod(usampler1D sampler, vec4 P, float lod); +ivec4 textureProjLod(isampler1D sampler, vec4 P, float lod); vec4 textureProjLod(sampler2D sampler, vec3 P, float lod); -vec4 textureProjLod(isampler2D sampler, vec3 P, float lod); -vec4 textureProjLod(usampler2D sampler, vec3 P, float lod); -ivec4 textureProjLod(sampler2D sampler, vec3 P, float lod); -ivec4 textureProjLod(isampler2D sampler, vec3 P, float lod); -ivec4 textureProjLod(usampler2D sampler, vec3 P, float lod); -uvec4 textureProjLod(sampler2D sampler, vec3 P, float lod); -uvec4 textureProjLod(isampler2D sampler, vec3 P, float lod); uvec4 textureProjLod(usampler2D sampler, vec3 P, float lod); -dvec4 textureProjLod(sampler2D sampler, vec3 P, float lod); -dvec4 textureProjLod(isampler2D sampler, vec3 P, float lod); -dvec4 textureProjLod(usampler2D sampler, vec3 P, float lod); +ivec4 textureProjLod(isampler2D sampler, vec3 P, float lod); vec4 textureProjLod(sampler2D sampler, vec4 P, float lod); -vec4 textureProjLod(isampler2D sampler, vec4 P, float lod); -vec4 textureProjLod(usampler2D sampler, vec4 P, float lod); -ivec4 textureProjLod(sampler2D sampler, vec4 P, float lod); -ivec4 textureProjLod(isampler2D sampler, vec4 P, float lod); -ivec4 textureProjLod(usampler2D sampler, vec4 P, float lod); -uvec4 textureProjLod(sampler2D sampler, vec4 P, float lod); -uvec4 textureProjLod(isampler2D sampler, vec4 P, float lod); uvec4 textureProjLod(usampler2D sampler, vec4 P, float lod); -dvec4 textureProjLod(sampler2D sampler, vec4 P, float lod); -dvec4 textureProjLod(isampler2D sampler, vec4 P, float lod); -dvec4 textureProjLod(usampler2D sampler, vec4 P, float lod); +ivec4 textureProjLod(isampler2D sampler, vec4 P, float lod); vec4 textureProjLod(sampler3D sampler, vec4 P, float lod); -vec4 textureProjLod(isampler3D sampler, vec4 P, float lod); -vec4 textureProjLod(usampler3D sampler, vec4 P, float lod); -ivec4 textureProjLod(sampler3D sampler, vec4 P, float lod); -ivec4 textureProjLod(isampler3D sampler, vec4 P, float lod); -ivec4 textureProjLod(usampler3D sampler, vec4 P, float lod); -uvec4 textureProjLod(sampler3D sampler, vec4 P, float lod); -uvec4 textureProjLod(isampler3D sampler, vec4 P, float lod); uvec4 textureProjLod(usampler3D sampler, vec4 P, float lod); -dvec4 textureProjLod(sampler3D sampler, vec4 P, float lod); -dvec4 textureProjLod(isampler3D sampler, vec4 P, float lod); -dvec4 textureProjLod(usampler3D sampler, vec4 P, float lod); +ivec4 textureProjLod(isampler3D sampler, vec4 P, float lod); float textureProjLod(sampler1DShadow sampler, vec4 P, float lod); float textureProjLod(sampler2DShadow sampler, vec4 P, float lod); vec4 textureProjLodOffset(sampler1D sampler, vec2 P, float lod, int offset); -vec4 textureProjLodOffset(isampler1D sampler, vec2 P, float lod, int offset); -vec4 textureProjLodOffset(usampler1D sampler, vec2 P, float lod, int offset); -ivec4 textureProjLodOffset(sampler1D sampler, vec2 P, float lod, int offset); -ivec4 textureProjLodOffset(isampler1D sampler, vec2 P, float lod, int offset); -ivec4 textureProjLodOffset(usampler1D sampler, vec2 P, float lod, int offset); -uvec4 textureProjLodOffset(sampler1D sampler, vec2 P, float lod, int offset); -uvec4 textureProjLodOffset(isampler1D sampler, vec2 P, float lod, int offset); uvec4 textureProjLodOffset(usampler1D sampler, vec2 P, float lod, int offset); -dvec4 textureProjLodOffset(sampler1D sampler, vec2 P, float lod, int offset); -dvec4 textureProjLodOffset(isampler1D sampler, vec2 P, float lod, int offset); -dvec4 textureProjLodOffset(usampler1D sampler, vec2 P, float lod, int offset); +ivec4 textureProjLodOffset(isampler1D sampler, vec2 P, float lod, int offset); vec4 textureProjLodOffset(sampler1D sampler, vec4 P, float lod, int offset); -vec4 textureProjLodOffset(isampler1D sampler, vec4 P, float lod, int offset); -vec4 textureProjLodOffset(usampler1D sampler, vec4 P, float lod, int offset); -ivec4 textureProjLodOffset(sampler1D sampler, vec4 P, float lod, int offset); -ivec4 textureProjLodOffset(isampler1D sampler, vec4 P, float lod, int offset); -ivec4 textureProjLodOffset(usampler1D sampler, vec4 P, float lod, int offset); -uvec4 textureProjLodOffset(sampler1D sampler, vec4 P, float lod, int offset); -uvec4 textureProjLodOffset(isampler1D sampler, vec4 P, float lod, int offset); uvec4 textureProjLodOffset(usampler1D sampler, vec4 P, float lod, int offset); -dvec4 textureProjLodOffset(sampler1D sampler, vec4 P, float lod, int offset); -dvec4 textureProjLodOffset(isampler1D sampler, vec4 P, float lod, int offset); -dvec4 textureProjLodOffset(usampler1D sampler, vec4 P, float lod, int offset); +ivec4 textureProjLodOffset(isampler1D sampler, vec4 P, float lod, int offset); vec4 textureProjLodOffset(sampler2D sampler, vec3 P, float lod, ivec2 offset); -vec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset); -vec4 textureProjLodOffset(usampler2D sampler, vec3 P, float lod, ivec2 offset); -ivec4 textureProjLodOffset(sampler2D sampler, vec3 P, float lod, ivec2 offset); -ivec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset); -ivec4 textureProjLodOffset(usampler2D sampler, vec3 P, float lod, ivec2 offset); -uvec4 textureProjLodOffset(sampler2D sampler, vec3 P, float lod, ivec2 offset); -uvec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset); uvec4 textureProjLodOffset(usampler2D sampler, vec3 P, float lod, ivec2 offset); -dvec4 textureProjLodOffset(sampler2D sampler, vec3 P, float lod, ivec2 offset); -dvec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset); -dvec4 textureProjLodOffset(usampler2D sampler, vec3 P, float lod, ivec2 offset); +ivec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset); vec4 textureProjLodOffset(sampler2D sampler, vec4 P, float lod, ivec2 offset); -vec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset); -vec4 textureProjLodOffset(usampler2D sampler, vec4 P, float lod, ivec2 offset); -ivec4 textureProjLodOffset(sampler2D sampler, vec4 P, float lod, ivec2 offset); -ivec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset); -ivec4 textureProjLodOffset(usampler2D sampler, vec4 P, float lod, ivec2 offset); -uvec4 textureProjLodOffset(sampler2D sampler, vec4 P, float lod, ivec2 offset); -uvec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset); uvec4 textureProjLodOffset(usampler2D sampler, vec4 P, float lod, ivec2 offset); -dvec4 textureProjLodOffset(sampler2D sampler, vec4 P, float lod, ivec2 offset); -dvec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset); -dvec4 textureProjLodOffset(usampler2D sampler, vec4 P, float lod, ivec2 offset); +ivec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset); vec4 textureProjLodOffset(sampler3D sampler, vec4 P, float lod, ivec3 offset); -vec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset); -vec4 textureProjLodOffset(usampler3D sampler, vec4 P, float lod, ivec3 offset); -ivec4 textureProjLodOffset(sampler3D sampler, vec4 P, float lod, ivec3 offset); -ivec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset); -ivec4 textureProjLodOffset(usampler3D sampler, vec4 P, float lod, ivec3 offset); -uvec4 textureProjLodOffset(sampler3D sampler, vec4 P, float lod, ivec3 offset); -uvec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset); uvec4 textureProjLodOffset(usampler3D sampler, vec4 P, float lod, ivec3 offset); -dvec4 textureProjLodOffset(sampler3D sampler, vec4 P, float lod, ivec3 offset); -dvec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset); -dvec4 textureProjLodOffset(usampler3D sampler, vec4 P, float lod, ivec3 offset); +ivec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset); float textureProjLodOffset(sampler1DShadow sampler, vec4 P, float lod, int offset); float textureProjLodOffset(sampler2DShadow sampler, vec4 P, float lod, ivec2 offset); vec4 textureProjOffset(sampler1D sampler, vec2 P, int offset, float bias); -vec4 textureProjOffset(sampler1D sampler, vec2 P, int offset); -vec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias); -vec4 textureProjOffset(isampler1D sampler, vec2 P, int offset); -vec4 textureProjOffset(usampler1D sampler, vec2 P, int offset, float bias); -vec4 textureProjOffset(usampler1D sampler, vec2 P, int offset); -ivec4 textureProjOffset(sampler1D sampler, vec2 P, int offset, float bias); -ivec4 textureProjOffset(sampler1D sampler, vec2 P, int offset); -ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias); -ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset); -ivec4 textureProjOffset(usampler1D sampler, vec2 P, int offset, float bias); -ivec4 textureProjOffset(usampler1D sampler, vec2 P, int offset); -uvec4 textureProjOffset(sampler1D sampler, vec2 P, int offset, float bias); -uvec4 textureProjOffset(sampler1D sampler, vec2 P, int offset); -uvec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias); -uvec4 textureProjOffset(isampler1D sampler, vec2 P, int offset); uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset, float bias); -uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset); -dvec4 textureProjOffset(sampler1D sampler, vec2 P, int offset, float bias); -dvec4 textureProjOffset(sampler1D sampler, vec2 P, int offset); -dvec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias); -dvec4 textureProjOffset(isampler1D sampler, vec2 P, int offset); -dvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset, float bias); -dvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset); +ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias); vec4 textureProjOffset(sampler1D sampler, vec4 P, int offset, float bias); -vec4 textureProjOffset(sampler1D sampler, vec4 P, int offset); -vec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias); -vec4 textureProjOffset(isampler1D sampler, vec4 P, int offset); -vec4 textureProjOffset(usampler1D sampler, vec4 P, int offset, float bias); -vec4 textureProjOffset(usampler1D sampler, vec4 P, int offset); -ivec4 textureProjOffset(sampler1D sampler, vec4 P, int offset, float bias); -ivec4 textureProjOffset(sampler1D sampler, vec4 P, int offset); -ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias); -ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset); -ivec4 textureProjOffset(usampler1D sampler, vec4 P, int offset, float bias); -ivec4 textureProjOffset(usampler1D sampler, vec4 P, int offset); -uvec4 textureProjOffset(sampler1D sampler, vec4 P, int offset, float bias); -uvec4 textureProjOffset(sampler1D sampler, vec4 P, int offset); -uvec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias); -uvec4 textureProjOffset(isampler1D sampler, vec4 P, int offset); uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset, float bias); -uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset); -dvec4 textureProjOffset(sampler1D sampler, vec4 P, int offset, float bias); -dvec4 textureProjOffset(sampler1D sampler, vec4 P, int offset); -dvec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias); -dvec4 textureProjOffset(isampler1D sampler, vec4 P, int offset); -dvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset, float bias); -dvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset); +ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias); vec4 textureProjOffset(sampler2D sampler, vec3 P, ivec2 offset, float bias); -vec4 textureProjOffset(sampler2D sampler, vec3 P, ivec2 offset); -vec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias); -vec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset); -vec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias); -vec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset); -ivec4 textureProjOffset(sampler2D sampler, vec3 P, ivec2 offset, float bias); -ivec4 textureProjOffset(sampler2D sampler, vec3 P, ivec2 offset); -ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias); -ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset); -ivec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias); -ivec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset); -uvec4 textureProjOffset(sampler2D sampler, vec3 P, ivec2 offset, float bias); -uvec4 textureProjOffset(sampler2D sampler, vec3 P, ivec2 offset); -uvec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias); -uvec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset); uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias); -uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset); -dvec4 textureProjOffset(sampler2D sampler, vec3 P, ivec2 offset, float bias); -dvec4 textureProjOffset(sampler2D sampler, vec3 P, ivec2 offset); -dvec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias); -dvec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset); -dvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias); -dvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset); +ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias); vec4 textureProjOffset(sampler2D sampler, vec4 P, ivec2 offset, float bias); -vec4 textureProjOffset(sampler2D sampler, vec4 P, ivec2 offset); -vec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias); -vec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset); -vec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias); -vec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset); -ivec4 textureProjOffset(sampler2D sampler, vec4 P, ivec2 offset, float bias); -ivec4 textureProjOffset(sampler2D sampler, vec4 P, ivec2 offset); -ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias); -ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset); -ivec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias); -ivec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset); -uvec4 textureProjOffset(sampler2D sampler, vec4 P, ivec2 offset, float bias); -uvec4 textureProjOffset(sampler2D sampler, vec4 P, ivec2 offset); -uvec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias); -uvec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset); uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias); -uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset); -dvec4 textureProjOffset(sampler2D sampler, vec4 P, ivec2 offset, float bias); -dvec4 textureProjOffset(sampler2D sampler, vec4 P, ivec2 offset); -dvec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias); -dvec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset); -dvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias); -dvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset); +ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias); vec4 textureProjOffset(sampler3D sampler, vec4 P, ivec3 offset, float bias); -vec4 textureProjOffset(sampler3D sampler, vec4 P, ivec3 offset); -vec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias); -vec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset); -vec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias); -vec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset); -ivec4 textureProjOffset(sampler3D sampler, vec4 P, ivec3 offset, float bias); -ivec4 textureProjOffset(sampler3D sampler, vec4 P, ivec3 offset); -ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias); -ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset); -ivec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias); -ivec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset); -uvec4 textureProjOffset(sampler3D sampler, vec4 P, ivec3 offset, float bias); -uvec4 textureProjOffset(sampler3D sampler, vec4 P, ivec3 offset); -uvec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias); -uvec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset); uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias); -uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset); -dvec4 textureProjOffset(sampler3D sampler, vec4 P, ivec3 offset, float bias); -dvec4 textureProjOffset(sampler3D sampler, vec4 P, ivec3 offset); -dvec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias); -dvec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset); -dvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias); -dvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset); +ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias); float textureProjOffset(sampler1DShadow sampler, vec4 P, int offset, float bias); -float textureProjOffset(sampler1DShadow sampler, vec4 P, int offset); float textureProjOffset(sampler2DShadow sampler, vec4 P, ivec2 offset, float bias); -float textureProjOffset(sampler2DShadow sampler, vec4 P, ivec2 offset); vec4 textureProjOffset(sampler2DRect sampler, vec3 P, ivec2 offset); -vec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset); -vec4 textureProjOffset(usampler2DRect sampler, vec3 P, ivec2 offset); -ivec4 textureProjOffset(sampler2DRect sampler, vec3 P, ivec2 offset); -ivec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset); -ivec4 textureProjOffset(usampler2DRect sampler, vec3 P, ivec2 offset); -uvec4 textureProjOffset(sampler2DRect sampler, vec3 P, ivec2 offset); -uvec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset); uvec4 textureProjOffset(usampler2DRect sampler, vec3 P, ivec2 offset); -dvec4 textureProjOffset(sampler2DRect sampler, vec3 P, ivec2 offset); -dvec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset); -dvec4 textureProjOffset(usampler2DRect sampler, vec3 P, ivec2 offset); +ivec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset); vec4 textureProjOffset(sampler2DRect sampler, vec4 P, ivec2 offset); -vec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset); -vec4 textureProjOffset(usampler2DRect sampler, vec4 P, ivec2 offset); -ivec4 textureProjOffset(sampler2DRect sampler, vec4 P, ivec2 offset); -ivec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset); -ivec4 textureProjOffset(usampler2DRect sampler, vec4 P, ivec2 offset); -uvec4 textureProjOffset(sampler2DRect sampler, vec4 P, ivec2 offset); -uvec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset); uvec4 textureProjOffset(usampler2DRect sampler, vec4 P, ivec2 offset); -dvec4 textureProjOffset(sampler2DRect sampler, vec4 P, ivec2 offset); -dvec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset); -dvec4 textureProjOffset(usampler2DRect sampler, vec4 P, ivec2 offset); +ivec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset); float textureProjOffset(sampler2DRectShadow sampler, vec4 P, ivec2 offset); int textureQueryLevels(sampler1D sampler); -int textureQueryLevels(isampler1D sampler); int textureQueryLevels(usampler1D sampler); +int textureQueryLevels(isampler1D sampler); int textureQueryLevels(sampler2D sampler); -int textureQueryLevels(isampler2D sampler); int textureQueryLevels(usampler2D sampler); +int textureQueryLevels(isampler2D sampler); int textureQueryLevels(sampler3D sampler); -int textureQueryLevels(isampler3D sampler); int textureQueryLevels(usampler3D sampler); +int textureQueryLevels(isampler3D sampler); int textureQueryLevels(samplerCube sampler); -int textureQueryLevels(isamplerCube sampler); int textureQueryLevels(usamplerCube sampler); +int textureQueryLevels(isamplerCube sampler); int textureQueryLevels(sampler1DArray sampler); -int textureQueryLevels(isampler1DArray sampler); int textureQueryLevels(usampler1DArray sampler); +int textureQueryLevels(isampler1DArray sampler); int textureQueryLevels(sampler2DArray sampler); -int textureQueryLevels(isampler2DArray sampler); int textureQueryLevels(usampler2DArray sampler); +int textureQueryLevels(isampler2DArray sampler); int textureQueryLevels(samplerCubeArray sampler); -int textureQueryLevels(isamplerCubeArray sampler); int textureQueryLevels(usamplerCubeArray sampler); +int textureQueryLevels(isamplerCubeArray sampler); int textureQueryLevels(sampler1DShadow sampler); int textureQueryLevels(sampler2DShadow sampler); int textureQueryLevels(samplerCubeShadow sampler); @@ -3867,26 +1993,26 @@ int textureQueryLevels(sampler2DArrayShadow sampler); int textureQueryLevels(samplerCubeArrayShadow sampler); vec2 textureQueryLod(sampler1D sampler, float P); -vec2 textureQueryLod(isampler1D sampler, float P); vec2 textureQueryLod(usampler1D sampler, float P); +vec2 textureQueryLod(isampler1D sampler, float P); vec2 textureQueryLod(sampler2D sampler, vec2 P); -vec2 textureQueryLod(isampler2D sampler, vec2 P); vec2 textureQueryLod(usampler2D sampler, vec2 P); +vec2 textureQueryLod(isampler2D sampler, vec2 P); vec2 textureQueryLod(sampler3D sampler, vec3 P); -vec2 textureQueryLod(isampler3D sampler, vec3 P); vec2 textureQueryLod(usampler3D sampler, vec3 P); +vec2 textureQueryLod(isampler3D sampler, vec3 P); vec2 textureQueryLod(samplerCube sampler, vec3 P); -vec2 textureQueryLod(isamplerCube sampler, vec3 P); vec2 textureQueryLod(usamplerCube sampler, vec3 P); +vec2 textureQueryLod(isamplerCube sampler, vec3 P); vec2 textureQueryLod(sampler1DArray sampler, float P); -vec2 textureQueryLod(isampler1DArray sampler, float P); vec2 textureQueryLod(usampler1DArray sampler, float P); +vec2 textureQueryLod(isampler1DArray sampler, float P); vec2 textureQueryLod(sampler2DArray sampler, vec2 P); -vec2 textureQueryLod(isampler2DArray sampler, vec2 P); vec2 textureQueryLod(usampler2DArray sampler, vec2 P); +vec2 textureQueryLod(isampler2DArray sampler, vec2 P); vec2 textureQueryLod(samplerCubeArray sampler, vec3 P); -vec2 textureQueryLod(isamplerCubeArray sampler, vec3 P); vec2 textureQueryLod(usamplerCubeArray sampler, vec3 P); +vec2 textureQueryLod(isamplerCubeArray sampler, vec3 P); vec2 textureQueryLod(sampler1DShadow sampler, float P); vec2 textureQueryLod(sampler2DShadow sampler, vec2 P); vec2 textureQueryLod(samplerCubeShadow sampler, vec3 P); @@ -3895,50 +2021,50 @@ vec2 textureQueryLod(sampler2DArrayShadow sampler, vec2 P); vec2 textureQueryLod(samplerCubeArrayShadow sampler, vec3 P); int textureSamples(sampler2DMS sampler); -int textureSamples(isampler2DMS sampler); int textureSamples(usampler2DMS sampler); +int textureSamples(isampler2DMS sampler); int textureSamples(sampler2DMSArray sampler); -int textureSamples(isampler2DMSArray sampler); int textureSamples(usampler2DMSArray sampler); +int textureSamples(isampler2DMSArray sampler); int textureSize(sampler1D sampler, int lod); -int textureSize(isampler1D sampler, int lod); int textureSize(usampler1D sampler, int lod); +int textureSize(isampler1D sampler, int lod); ivec2 textureSize(sampler2D sampler, int lod); -ivec2 textureSize(isampler2D sampler, int lod); ivec2 textureSize(usampler2D sampler, int lod); +ivec2 textureSize(isampler2D sampler, int lod); ivec3 textureSize(sampler3D sampler, int lod); -ivec3 textureSize(isampler3D sampler, int lod); ivec3 textureSize(usampler3D sampler, int lod); +ivec3 textureSize(isampler3D sampler, int lod); ivec2 textureSize(samplerCube sampler, int lod); -ivec2 textureSize(isamplerCube sampler, int lod); ivec2 textureSize(usamplerCube sampler, int lod); +ivec2 textureSize(isamplerCube sampler, int lod); int textureSize(sampler1DShadow sampler, int lod); ivec2 textureSize(sampler2DShadow sampler, int lod); ivec2 textureSize(samplerCubeShadow sampler, int lod); ivec3 textureSize(samplerCubeArray sampler, int lod); ivec3 textureSize(samplerCubeArrayShadow sampler, int lod); ivec2 textureSize(sampler2DRect sampler); -ivec2 textureSize(isampler2DRect sampler); ivec2 textureSize(usampler2DRect sampler); +ivec2 textureSize(isampler2DRect sampler); ivec2 textureSize(sampler2DRectShadow sampler); ivec2 textureSize(sampler1DArray sampler, int lod); -ivec2 textureSize(isampler1DArray sampler, int lod); ivec2 textureSize(usampler1DArray sampler, int lod); +ivec2 textureSize(isampler1DArray sampler, int lod); ivec3 textureSize(sampler2DArray sampler, int lod); -ivec3 textureSize(isampler2DArray sampler, int lod); ivec3 textureSize(usampler2DArray sampler, int lod); +ivec3 textureSize(isampler2DArray sampler, int lod); ivec2 textureSize(sampler1DArrayShadow sampler, int lod); ivec3 textureSize(sampler2DArrayShadow sampler, int lod); int textureSize(samplerBuffer sampler); -int textureSize(isamplerBuffer sampler); int textureSize(usamplerBuffer sampler); +int textureSize(isamplerBuffer sampler); ivec2 textureSize(sampler2DMS sampler); -ivec2 textureSize(isampler2DMS sampler); ivec2 textureSize(usampler2DMS sampler); +ivec2 textureSize(isampler2DMS sampler); ivec3 textureSize(sampler2DMSArray sampler); -ivec3 textureSize(isampler2DMSArray sampler); ivec3 textureSize(usampler2DMSArray sampler); +ivec3 textureSize(isampler2DMSArray sampler); mat2 transpose(mat2 m); mat3 transpose(mat3 m);