Skip to content

Commit a2ef814

Browse files
lexaknyazevCommit Bot
authored andcommitted
Vulkan: fix undefined right shift in GetMask
Bug: chromium:1137170 Change-Id: I95efdc7888e44f2b4227f9c0d892b9102cead0bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469616 Reviewed-by: Jamie Madill <[email protected]> Reviewed-by: Shahbaz Youssefi <[email protected]> Commit-Queue: Jamie Madill <[email protected]>
1 parent 43b4fef commit a2ef814

File tree

2 files changed

+2
-8
lines changed

2 files changed

+2
-8
lines changed

src/libANGLE/angletypes.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,7 @@ class BlendStateExt final
432432

433433
static constexpr Type GetMask(const size_t drawBuffers)
434434
{
435+
ASSERT(drawBuffers > 0);
435436
ASSERT(drawBuffers <= IMPLEMENTATION_MAX_DRAW_BUFFERS);
436437
return static_cast<Type>(0xFFFFFFFFFFFFFFFFull >> (64 - drawBuffers * kBits));
437438
}

src/libANGLE/renderer/vulkan/ContextVk.cpp

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,6 @@ constexpr gl::ShaderMap<vk::ImageLayout> kShaderWriteImageLayouts = {
123123
{gl::ShaderType::Geometry, vk::ImageLayout::GeometryShaderWrite},
124124
{gl::ShaderType::Compute, vk::ImageLayout::ComputeShaderWrite}};
125125

126-
constexpr VkColorComponentFlags kAllColorChannelsMask =
127-
(VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT |
128-
VK_COLOR_COMPONENT_A_BIT);
129-
130126
constexpr VkBufferUsageFlags kVertexBufferUsage = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
131127
constexpr size_t kDefaultValueSize = sizeof(gl::VertexAttribCurrentValueData::Values);
132128
constexpr size_t kDefaultBufferSize = kDefaultValueSize * 16;
@@ -648,6 +644,7 @@ ContextVk::ContextVk(const gl::State &state, gl::ErrorSet *errorSet, RendererVk
648644
mCurrentDrawElementsType(gl::DrawElementsType::InvalidEnum),
649645
mXfbBaseVertex(0),
650646
mXfbVertexCountPerInstance(0),
647+
mClearColorMasks(0),
651648
mFlipYForCurrentSurface(false),
652649
mIsAnyHostVisibleBufferWritten(false),
653650
mEmulateSeamfulCubeMapSampling(false),
@@ -669,10 +666,6 @@ ContextVk::ContextVk(const gl::State &state, gl::ErrorSet *errorSet, RendererVk
669666
memset(&mClearColorValue, 0, sizeof(mClearColorValue));
670667
memset(&mClearDepthStencilValue, 0, sizeof(mClearDepthStencilValue));
671668

672-
mClearColorMasks = gl::BlendStateExt::ColorMaskStorage::GetReplicatedValue(
673-
kAllColorChannelsMask,
674-
gl::BlendStateExt::ColorMaskStorage::GetMask(getCaps().maxDrawBuffers));
675-
676669
mNonIndexedDirtyBitsMask.set();
677670
mNonIndexedDirtyBitsMask.reset(DIRTY_BIT_INDEX_BUFFER);
678671

0 commit comments

Comments
 (0)