(🍒) vulkan: Use std::atomic for seqno

Cherry-picked from aosp/2444542.

Original Commit Message:
> Instead of using gcc-internal atomic functions now we use std::atomic
> type instead.  Verified that this produces the same assembly code when
> -O3 is enabled on gcc and clang (https://godbolt.org/z/drx5Y1Gjj).

> Besides we also pass the ProcessResource pointer to VkDecoder so that
> we can pass in other resources in ProcessResource.

Bug: fxbug.dev/120167
Change-Id: I1a5e1913ce9191665c74bdfed42b1c829f208728
diff --git a/stream-servers/RenderThread.cpp b/stream-servers/RenderThread.cpp
index 8fad5ef..76033fd 100644
--- a/stream-servers/RenderThread.cpp
+++ b/stream-servers/RenderThread.cpp
@@ -464,12 +464,8 @@
                     .healthMonitor = FrameBuffer::getFB()->getHealthMonitor(),
                     .metricsLogger = &metricsLogger,
                 };
-                uint32_t* seqno = nullptr;
-                if (processResources) {
-                    seqno = processResources->getSequenceNumberPtr();
-                }
                 last = tInfo.m_vkInfo->m_vkDec.decode(readBuf.buf(), readBuf.validData(), ioStream,
-                                                      seqno, context);
+                                                      processResources, context);
                 if (last > 0) {
                     if (!processResources) {
                         ERR("Processed some Vulkan packets without process resources created. "