diff options
Diffstat (limited to 'source/slang/slang-ir-validate.cpp')
| -rw-r--r-- | source/slang/slang-ir-validate.cpp | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/source/slang/slang-ir-validate.cpp b/source/slang/slang-ir-validate.cpp index bf5d8ed5d..156fe249f 100644 --- a/source/slang/slang-ir-validate.cpp +++ b/source/slang/slang-ir-validate.cpp @@ -598,21 +598,9 @@ void validateVectorsAndMatrices( } } - // Verify that the element type is a floating point type, or an allowed integral type - auto elementType = matrixType->getElementType(); - uint32_t allowedWidths = 0U; - if (isCPUTarget(targetRequest)) - allowedWidths = 8U | 16U | 32U | 64U; - else if (isCUDATarget(targetRequest)) - allowedWidths = 32U | 64U; - else if (isD3DTarget(targetRequest)) - allowedWidths = 16U | 32U; - validateVectorOrMatrixElementType( - sink, - matrixType->sourceLoc, - elementType, - allowedWidths, - Diagnostics::matrixWithDisallowedElementTypeEncountered); + // Matrix element type validation removed to allow integer/bool matrices + // which will be lowered to arrays of vectors on targets that don't support them + // natively } else if (auto vectorType = as<IRVectorType>(globalInst)) { |
