diff options
author | Shahbaz Youssefi <syoussefi@chromium.org> | 2023-04-20 11:21:59 -0400 |
---|---|---|
committer | Angle LUCI CQ <angle-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-04-20 20:58:40 +0000 |
commit | 77d86c4a7ecc62356fde5ddcc83a25e2e51747bd (patch) | |
tree | d806d4daaa1606e888e862e3eef4001d37cb3385 | |
parent | 03f0e51d7f4308947daad0ecc064fd5c2f2d3856 (diff) | |
download | angle-77d86c4a7ecc62356fde5ddcc83a25e2e51747bd.tar.gz |
Vulkan: Set shading rate dynamic state unconditionally
Since this state is dynamic, it must be set before use.
Bug: angleproject:8108
Change-Id: I3ceeae95cdfad3388c35dd9e629e1424617f48b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4455148
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
-rw-r--r-- | src/libANGLE/renderer/vulkan/ContextVk.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libANGLE/renderer/vulkan/ContextVk.cpp b/src/libANGLE/renderer/vulkan/ContextVk.cpp index 77393113dd..1004f62526 100644 --- a/src/libANGLE/renderer/vulkan/ContextVk.cpp +++ b/src/libANGLE/renderer/vulkan/ContextVk.cpp @@ -3145,8 +3145,8 @@ angle::Result ContextVk::handleDirtyGraphicsDynamicFragmentShadingRate( gl::ShadingRate shadingRate = getState().getShadingRate(); if (shadingRate == gl::ShadingRate::Undefined) { - // Shading rate has not been set. Nothing to do, early return. - return angle::Result::Continue; + // Shading rate has not been set. Since this is dynamic state, set it to 1x1 + shadingRate = gl::ShadingRate::_1x1; } const bool shadingRateSupported = mRenderer->isShadingRateSupported(shadingRate); @@ -5652,7 +5652,10 @@ angle::Result ContextVk::syncState(const gl::Context *context, } break; case gl::State::EXTENDED_DIRTY_BIT_SHADING_RATE: - mGraphicsDirtyBits.set(DIRTY_BIT_DYNAMIC_FRAGMENT_SHADING_RATE); + if (getFeatures().supportsFragmentShadingRate.enabled) + { + mGraphicsDirtyBits.set(DIRTY_BIT_DYNAMIC_FRAGMENT_SHADING_RATE); + } break; default: UNREACHABLE(); |