Lines Matching refs:IVec3
62 using tcu::IVec3;
88 static inline IVec3 defaultImageSize (TextureType type)
92 case TEXTURETYPE_BUFFER: return IVec3(64, 1, 1);
93 case TEXTURETYPE_2D: return IVec3(64, 64, 1);
94 case TEXTURETYPE_CUBE: return IVec3(64, 64, 1);
95 case TEXTURETYPE_3D: return IVec3(64, 64, 8);
96 case TEXTURETYPE_2D_ARRAY: return IVec3(64, 64, 8);
99 return IVec3(-1);
566 const IVec3& getSize (void) const { return m_size; }
596 const IVec3 m_size;
685 static void setTextureStorage (glu::CallLogWrapper& glLog, TextureType imageType, deUint32 internalFormat, const IVec3& imageSize, deUint32 textureBufGL)
725 const IVec3& imageSize = src.getSize();
816 const IVec3& textureSize,
873 const IVec3& textureSize,
1048 const IVec3& imageSize,
1126 const IVec3& imageSize = defaultImageSize(m_textureType);
1186 " imageStore(u_image, ivec3(gx, gy, gz), " + colorExpr + ");\n"
1309 const IVec3 imageSize = image.getSize();
1345 const IVec3& imageSize = defaultImageSize(m_textureType);
1435 " ivec3 pos = ivec3(gl_GlobalInvocationID);\n"
1436 " imageStore(u_image1, pos, imageLoad(u_image0, ivec3(" + toString(imageSize.x()-1) + "-pos.x, pos.y, pos.z)));\n"
1604 static int getAtomicFuncArgument (AtomicOperation op, const IVec3& invocationID, const IVec2& dispatchSizeXY);
1634 int BinaryAtomicOperationCase::getAtomicFuncArgument (AtomicOperation op, const IVec3& invocationID, const IVec2& dispatchSizeXY)
1715 IVec3 invocationGlobalIDs[NUM_INVOCATIONS_PER_PIXEL];
1720 const IVec3 gid(x + i*resultSlice.getWidth(), y, sliceOrFaceNdx);
1810 IVec3 invocationGlobalIDs[NUM_INVOCATIONS_PER_PIXEL];
1816 const IVec3 gid (pixCoord.x(), pixCoord.y(), sliceOrFaceNdx);
1919 const IVec3& imageSize = defaultImageSize(m_imageType);
1927 // Size imageSize*IVec3(N, 1, 1) or, for cube maps, imageSize*IVec3(N, N, 1) where N is NUM_INVOCATIONS_PER_PIXEL.
1981 setTextureStorage(glLog, m_imageType, internalFormatGL, imageSize * (m_imageType == TEXTURETYPE_CUBE ? IVec3(NUM_INVOCATIONS_PER_PIXEL, NUM_INVOCATIONS_PER_PIXEL, 1)
1982 : IVec3(NUM_INVOCATIONS_PER_PIXEL, 1, 1)),
1997 : "ivec3(gx % " + toString(imageSize.x()) + ", gy, gz)";
2000 : "ivec3(gx, gy, gz)";
2062 const IVec3 textureToCheckSize = imageSize * IVec3(m_caseType == ATOMIC_OPERATION_CASE_TYPE_END_RESULT ? 1 : NUM_INVOCATIONS_PER_PIXEL, 1, 1);
2104 static int getCompareArg (const IVec3& invocationID, int imageWidth);
2105 static int getAssignArg (const IVec3& invocationID, int imageWidth);
2116 int AtomicCompSwapCase::getCompareArg (const IVec3& invocationID, int imageWidth)
2127 int AtomicCompSwapCase::getAssignArg (const IVec3& invocationID, int imageWidth)
2129 return getCompareArg(IVec3(invocationID.x() + imageWidth, invocationID.y(), invocationID.z()), imageWidth);
2178 IVec3 invocationGlobalIDs[NUM_INVOCATIONS_PER_PIXEL];
2183 const IVec3 gid(x + i*resultSlice.getWidth(), y, sliceOrFaceNdx);
2238 IVec3 invocationGlobalIDs[NUM_INVOCATIONS_PER_PIXEL];
2244 const IVec3 gid (pixCoord.x(), pixCoord.y(), sliceOrFaceNdx);
2319 const IVec3& imageSize = defaultImageSize(m_imageType);
2327 // Size imageSize*IVec3(N, 1, 1) or, for cube maps, imageSize*IVec3(N, N, 1) where N is NUM_INVOCATIONS_PER_PIXEL.
2355 imageData.setPixel(x, y, z, IVec4(getCompareArg(IVec3(x, y, z), imageSize.x())));
2381 setTextureStorage(glLog, m_imageType, internalFormatGL, imageSize * (m_imageType == TEXTURETYPE_CUBE ? IVec3(NUM_INVOCATIONS_PER_PIXEL, NUM_INVOCATIONS_PER_PIXEL, 1)
2382 : IVec3(NUM_INVOCATIONS_PER_PIXEL, 1, 1)),
2398 : "ivec3(gx % " + toString(imageSize.x()) + ", gy, gz)";
2401 : "ivec3(gx, gy, gz)";
2464 const IVec3 relevantRegion = imageSize * (m_caseType == ATOMIC_OPERATION_CASE_TYPE_END_RESULT ? IVec3(1, 1, 1)
2465 : IVec3(NUM_INVOCATIONS_PER_PIXEL, 1, 1));
2538 const IVec3& imageSize = defaultImageSize(m_imageType);
2547 const IVec3 numGroups = IVec3(16, de::min(16, imageSize.y()), de::min(2, numSlicesOrFaces));
2548 const IVec3 workItemSize = IVec3(imageSize.x(), imageSize.y(), numSlicesOrFaces);
2549 const IVec3 localSize = workItemSize / numGroups;
2550 const IVec3 minReqMaxLocalSize = IVec3(128, 128, 64);
2583 : "ivec3(gx, gy, gz)";
2625 : "ivec3(readX, readY, readZ)") + ").x;\n"
2735 ImageSizeCase (Context& context, const char* name, const char* description, const TextureFormat& format, TextureType imageType, const IVec3& size, ImageAccess imageAccess)
2750 const IVec3 m_imageSize;
2784 setTextureStorage(glLog, TEXTURETYPE_2D, GL_R32UI, IVec3(1, 1, 1), 0 /* always 2d texture, no buffer needed */);
2818 " ivec3 size = imageSize(u_image);\n"
2851 IVec3(1, 1, 1), R32UIImageSingleValueVerifier(referenceOutput)))
3114 IVec3(1, 1, 1), R32UIImageSingleValueVerifier(expectedMin, expectedMax)))
3272 static const IVec3 baseImageSizes[] =
3274 IVec3(32, 32, 32),
3275 IVec3(12, 34, 56),
3276 IVec3(1, 1, 1),
3277 IVec3(7, 1, 1)
3290 const IVec3& baseSize = baseImageSizes[imageSizeNdx];
3291 const IVec3 imageSize = imageType == TEXTURETYPE_BUFFER ? IVec3(baseSize.x(), 1, 1)
3292 : imageType == TEXTURETYPE_2D ? IVec3(baseSize.x(), baseSize.y(), 1)
3293 : imageType == TEXTURETYPE_CUBE ? IVec3(baseSize.x(), baseSize.x(), 1)
3296 : IVec3(-1, -1, -1);