commit
d4e4d00353
34 changed files with 1245 additions and 305 deletions
|
|
@ -169,6 +169,7 @@ set(GLSLANG_HEADERS
|
|||
Include/Types.h)
|
||||
|
||||
add_library(glslang ${LIB_TYPE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS})
|
||||
add_library(glslang::glslang ALIAS glslang)
|
||||
set_target_properties(glslang PROPERTIES
|
||||
FOLDER glslang
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
|
|
@ -201,6 +202,7 @@ set(RESOURCELIMITS_HEADERS
|
|||
)
|
||||
|
||||
add_library(glslang-default-resource-limits ${RESOURCELIMITS_SOURCES} ${RESOURCELIMITS_HEADERS})
|
||||
add_library(glslang::glslang-default-resource-limits ALIAS glslang-default-resource-limits)
|
||||
set_target_properties(glslang-default-resource-limits PROPERTIES
|
||||
VERSION "${GLSLANG_VERSION}"
|
||||
SOVERSION "${GLSLANG_VERSION_MAJOR}"
|
||||
|
|
|
|||
|
|
@ -4558,6 +4558,8 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"const int gl_MatrixOperandsSaturatingAccumulation = 0x10;\n"
|
||||
"const int gl_CooperativeMatrixLayoutRowMajor = 0;\n"
|
||||
"const int gl_CooperativeMatrixLayoutColumnMajor = 1;\n"
|
||||
"const int gl_CooperativeMatrixLayoutRowBlockedInterleavedARM = 4202;\n"
|
||||
"const int gl_CooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203;\n"
|
||||
"\n"
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
// Copyright (C) 2015-2018 Google, Inc.
|
||||
// Copyright (C) 2017, 2019 ARM Limited.
|
||||
// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved.
|
||||
// Modifications Copyright (C) 2024 Ravi Prakash Singh.
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
|
|
@ -8540,7 +8541,8 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
|
|||
basicOp = EOpConstructFloat16;
|
||||
// 8/16-bit storage extensions don't support constructing composites of 8/16-bit types,
|
||||
// so construct a 32-bit type and convert
|
||||
if (!intermediate.getArithemeticFloat16Enabled()) {
|
||||
// and do not generate any conversion if it is an identity conversion, i.e. float16_t(<float16_t> var)
|
||||
if (!intermediate.getArithemeticFloat16Enabled() && (node->getBasicType() != EbtFloat16)) {
|
||||
TType tempType(EbtFloat, EvqTemporary, type.getVectorSize());
|
||||
newNode = node;
|
||||
if (tempType != newNode->getType()) {
|
||||
|
|
@ -8563,7 +8565,8 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
|
|||
basicOp = EOpConstructInt8;
|
||||
// 8/16-bit storage extensions don't support constructing composites of 8/16-bit types,
|
||||
// so construct a 32-bit type and convert
|
||||
if (!intermediate.getArithemeticInt8Enabled()) {
|
||||
// and do not generate any conversion if it is an identity conversion, i.e. int8_t(<int8_t> var)
|
||||
if (!intermediate.getArithemeticInt8Enabled() && (node->getBasicType() != EbtInt8)) {
|
||||
TType tempType(EbtInt, EvqTemporary, type.getVectorSize());
|
||||
newNode = node;
|
||||
if (tempType != newNode->getType()) {
|
||||
|
|
@ -8586,7 +8589,8 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
|
|||
basicOp = EOpConstructUint8;
|
||||
// 8/16-bit storage extensions don't support constructing composites of 8/16-bit types,
|
||||
// so construct a 32-bit type and convert
|
||||
if (!intermediate.getArithemeticInt8Enabled()) {
|
||||
// and do not generate any conversion if it is an identity conversion, i.e. uint8_t(<uint8_t> var)
|
||||
if (!intermediate.getArithemeticInt8Enabled() && (node->getBasicType() != EbtUint8)) {
|
||||
TType tempType(EbtUint, EvqTemporary, type.getVectorSize());
|
||||
newNode = node;
|
||||
if (tempType != newNode->getType()) {
|
||||
|
|
@ -8609,7 +8613,8 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
|
|||
basicOp = EOpConstructInt16;
|
||||
// 8/16-bit storage extensions don't support constructing composites of 8/16-bit types,
|
||||
// so construct a 32-bit type and convert
|
||||
if (!intermediate.getArithemeticInt16Enabled()) {
|
||||
// and do not generate any conversion if it is an identity conversion, i.e. int16_t(<int16_t> var)
|
||||
if (!intermediate.getArithemeticInt16Enabled() && (node->getBasicType() != EbtInt16)) {
|
||||
TType tempType(EbtInt, EvqTemporary, type.getVectorSize());
|
||||
newNode = node;
|
||||
if (tempType != newNode->getType()) {
|
||||
|
|
@ -8632,7 +8637,8 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
|
|||
basicOp = EOpConstructUint16;
|
||||
// 8/16-bit storage extensions don't support constructing composites of 8/16-bit types,
|
||||
// so construct a 32-bit type and convert
|
||||
if (!intermediate.getArithemeticInt16Enabled()) {
|
||||
// and do not generate any conversion if it is an identity conversion, i.e. uint16_t(<uint16_t> var)
|
||||
if (!intermediate.getArithemeticInt16Enabled() && (node->getBasicType() != EbtUint16)) {
|
||||
TType tempType(EbtUint, EvqTemporary, type.getVectorSize());
|
||||
newNode = node;
|
||||
if (tempType != newNode->getType()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue