Skip to content

Commit 01cfb98

Browse files
HuYuxinAngle LUCI CQ
authored andcommitted
Add a new property to LinkedUniform struct
The new property isTransformedFloat will be used by front end API to determine if we should transform 32-bit float to 16-bit float before writing to memory, and transform 16-bit float to 32-bit float after reading from memory. The property value will be passed from UsedUniform (child struct of ShaderVariable) object in UniformLinkder::getResults(). This CL is no op. Bug: angleproject:405795981 Change-Id: Ic4908712f5fa56cb657206a25d9d618b51ac6322 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6851554 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
1 parent 20dca0b commit 01cfb98

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

src/libANGLE/Uniform.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ LinkedUniform::LinkedUniform(const UsedUniform &usedUniform)
7777

7878
SetBitField(pod.flagBits.isFragmentInOut, usedUniform.isFragmentInOut);
7979
SetBitField(pod.flagBits.texelFetchStaticUse, usedUniform.texelFetchStaticUse);
80+
SetBitField(pod.flagBits.isFloat16, usedUniform.isFloat16);
8081
ASSERT(!usedUniform.isArray() || pod.arraySize == usedUniform.getArraySizeProduct());
8182
}
8283

src/libANGLE/Uniform.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ struct LinkedUniform
128128
int getBufferIndex() const { return pod.bufferIndex; }
129129
int getLocation() const { return pod.location; }
130130
GLenum getImageUnitFormat() const { return pod.imageUnitFormat; }
131+
bool isFloat16() const { return pod.flagBits.isFloat16; }
131132

132133
ACTIVE_VARIABLE_COMMON_INTERFACES
133134

@@ -166,7 +167,8 @@ struct LinkedUniform
166167
uint8_t isArray : 1;
167168
uint8_t blockIsRowMajorMatrix : 1;
168169
uint8_t isBlock : 1;
169-
uint8_t padding : 3;
170+
uint8_t isFloat16 : 1;
171+
uint8_t padding : 2;
170172
} flagBits;
171173
uint8_t flagBitsAsUByte;
172174
};

0 commit comments

Comments
 (0)