Lines Matching defs:operation
21 * \brief Image atomic operation tests
322 //! An order-independent operation is one for which the end result doesn't depend on the order in which the operations are carried (i.e. is both commutative and associative).
336 //! Checks if the operation needs an SPIR-V shader.
344 //! Returns the SPIR-V assembler name of the given operation.
359 //! Returns true if the given SPIR-V operation does not need the last argument, compared to OpAtomicIAdd.
374 //! Computes the result of an atomic operation where "a" is the data operated on and "b" is the parameter to the atomic function.
507 const AtomicOperation operation,
517 const deInt64 initialValue(getOperationInitialValue<deInt64>(operation));
528 const tcu::IVec4 initialValue(getOperationInitialValue<deInt32>(operation));
541 void commonCheckSupport (Context& context, const tcu::TextureFormat& tcuFormat, VkImageTiling tiling, ImageType imageType, const tcu::UVec3& imageSize, AtomicOperation operation, bool useTransfer, ShaderReadType readType, ImageBackingType backingType)
607 if ((operation == ATOMIC_OPERATION_ADD) && !atomicFloatFeatures.shaderImageFloat32AtomicAdd)
610 if (operation == ATOMIC_OPERATION_MIN || operation == ATOMIC_OPERATION_MAX)
629 if (operation == ATOMIC_OPERATION_ADD && !atomicFloatFeatures.sparseImageFloat32AtomicAdd)
674 const AtomicOperation operation,
702 const AtomicOperation operation,
712 , m_operation (operation)
804 const AtomicOperation operation,
832 const AtomicOperation operation,
842 , m_operation (operation)
936 const AtomicOperation operation,
1011 const AtomicOperation operation,
1021 , m_operation (operation)
1340 const AtomicOperation operation,
1344 : BinaryAtomicInstanceBase(context, name, imageType, imageSize, format, tiling, operation, useTransfer, shaderReadType, backingType) {}
1623 const AtomicOperation operation,
1627 : BinaryAtomicInstanceBase(context, name, imageType, imageSize, format, tiling, operation, useTransfer, shaderReadType, backingType) {}
1995 const AtomicOperation operation = (AtomicOperation)operationI;
1997 de::MovePtr<tcu::TestCaseGroup> operationGroup(new tcu::TestCaseGroup(testCtx, getAtomicOperationCaseName(operation).c_str()));
2048 if (operation != ATOMIC_OPERATION_ADD &&
2050 operation != ATOMIC_OPERATION_MIN &&
2051 operation != ATOMIC_OPERATION_MAX &&
2053 operation != ATOMIC_OPERATION_EXCHANGE)
2072 backingTypeGroup->addChild(new BinaryAtomicEndResultCase(testCtx, caseEndResult, imageType, imageSize, format, s_tilings[tilingNdx], operation, useTransfer, readType.type, backingType.type, glu::GLSL_VERSION_450));
2076 backingTypeGroup->addChild(new BinaryAtomicIntermValuesCase(testCtx, caseIntermValues, imageType, imageSize, format, s_tilings[tilingNdx], operation, useTransfer, readType.type, backingType.type, glu::GLSL_VERSION_450));