gfxstream: gfxstreamCapset --> vulkanCapset

We couple everything as one giant gfxstream capset, and also have
a renderControl path for versioning.

Long term, it makes sense to nuke renderControl path (which controls
many legacy GLES bits) and rely on a virtgpu-style versioning scheme
[each context type gets it's one capset].

Some capability sets are experimental.  For example, GFXSTREAM_COMPOSER.
However, Fuchsia for example does rip out parts of HostConnection
and use in it's display controller.  Probably have a cross-platform
API that performs that functions would a long-term clean solution.

BUG=297245651
TEST=compile

Change-Id: Ie1f18ea7a5ff7e1a616c1d8a9b733aa6441aacef
diff --git a/common/GfxstreamEnd2EndTests.cpp b/common/GfxstreamEnd2EndTests.cpp
index 43a6487..0350338 100644
--- a/common/GfxstreamEnd2EndTests.cpp
+++ b/common/GfxstreamEnd2EndTests.cpp
@@ -265,21 +265,21 @@
 int64_t TestingVirtGpuDevice::getDeviceHandle() { return -1; }
 
 VirtGpuCaps TestingVirtGpuDevice::getCaps() {
-        VirtGpuCaps caps = {
-        .params = {
-            [kParam3D] = 1,
-            [kParamCapsetFix] = 1,
-            [kParamResourceBlob] = 1,
-            [kParamHostVisible] = 1,
-            [kParamCrossDevice] = 0,
-            [kParamContextInit] = 1,
-            [kParamSupportedCapsetIds] = 0,
-            [kParamCreateGuestHandle] = 0,
-        },
+    VirtGpuCaps caps = {
+        .params =
+            {
+                [kParam3D] = 1,
+                [kParamCapsetFix] = 1,
+                [kParamResourceBlob] = 1,
+                [kParamHostVisible] = 1,
+                [kParamCrossDevice] = 0,
+                [kParamContextInit] = 1,
+                [kParamSupportedCapsetIds] = 0,
+                [kParamCreateGuestHandle] = 0,
+            },
     };
 
-    stream_renderer_fill_caps(0, 0, &caps.gfxstreamCapset);
-
+    stream_renderer_fill_caps(0, 0, &caps.vulkanCapset);
     return caps;
 }
 
diff --git a/guest/GoldfishAddressSpace/VirtioGpuAddressSpaceStream.cpp b/guest/GoldfishAddressSpace/VirtioGpuAddressSpaceStream.cpp
index e0747fb..12d8446 100644
--- a/guest/GoldfishAddressSpace/VirtioGpuAddressSpaceStream.cpp
+++ b/guest/GoldfishAddressSpace/VirtioGpuAddressSpaceStream.cpp
@@ -59,8 +59,8 @@
     blobCreate.blobId = 0;
     blobCreate.blobMem = kBlobMemHost3d;
     blobCreate.flags = kBlobFlagMappable;
-    blobCreate.size = ALIGN(caps.gfxstreamCapset.ringSize + caps.gfxstreamCapset.bufferSize,
-                            caps.gfxstreamCapset.blobAlignment);
+    blobCreate.size = ALIGN(caps.vulkanCapset.ringSize + caps.vulkanCapset.bufferSize,
+                            caps.vulkanCapset.blobAlignment);
     blob = instance->createBlob(blobCreate);
     if (!blob)
         return nullptr;
@@ -89,7 +89,7 @@
 
     bufferPtr = blobAddr + sizeof(struct asg_ring_storage);
     struct asg_context context =
-        asg_context_create(blobAddr, bufferPtr, caps.gfxstreamCapset.bufferSize);
+        asg_context_create(blobAddr, bufferPtr, caps.vulkanCapset.bufferSize);
 
     context.ring_config->transfer_mode = 1;
     context.ring_config->host_consumed_pos = 0;
@@ -107,4 +107,4 @@
     res->setMapping(blobMapping);
     res->setResourceId(contextCreate.resourceId);
     return res;
-}
\ No newline at end of file
+}
diff --git a/guest/platform/include/VirtGpu.h b/guest/platform/include/VirtGpu.h
index c2287a3..453407a 100644
--- a/guest/platform/include/VirtGpu.h
+++ b/guest/platform/include/VirtGpu.h
@@ -106,7 +106,7 @@
 
 struct VirtGpuCaps {
     uint64_t params[kParamMax];
-    struct gfxstreamCapset gfxstreamCapset;
+    struct vulkanCapset vulkanCapset;
 };
 
 class VirtGpuBlobMapping;
diff --git a/guest/platform/include/virtgpu_gfxstream_protocol.h b/guest/platform/include/virtgpu_gfxstream_protocol.h
index b5efd2e..c40ada2 100644
--- a/guest/platform/include/virtgpu_gfxstream_protocol.h
+++ b/guest/platform/include/virtgpu_gfxstream_protocol.h
@@ -76,7 +76,7 @@
     uint32_t padding;
 };
 
-struct gfxstreamCapset {
+struct vulkanCapset {
     uint32_t protocolVersion;
 
     // ASG Ring Parameters
diff --git a/guest/platform/linux/LinuxVirtGpuDevice.cpp b/guest/platform/linux/LinuxVirtGpuDevice.cpp
index 3b44934..26637b3 100644
--- a/guest/platform/linux/LinuxVirtGpuDevice.cpp
+++ b/guest/platform/linux/LinuxVirtGpuDevice.cpp
@@ -80,8 +80,8 @@
 
     get_caps.cap_set_id = static_cast<uint32_t>(capset);
     if (capset == kCapsetGfxStreamVulkan) {
-        get_caps.size = sizeof(struct gfxstreamCapset);
-        get_caps.addr = (unsigned long long)&mCaps.gfxstreamCapset;
+        get_caps.size = sizeof(struct vulkanCapset);
+        get_caps.addr = (unsigned long long)&mCaps.vulkanCapset;
     }
 
     ret = drmIoctl(mDeviceHandle, DRM_IOCTL_VIRTGPU_GET_CAPS, &get_caps);
@@ -92,8 +92,8 @@
     }
 
     // We always need an ASG blob in some cases, so always define blobAlignment
-    if (!mCaps.gfxstreamCapset.blobAlignment) {
-        mCaps.gfxstreamCapset.blobAlignment = 4096;
+    if (!mCaps.vulkanCapset.blobAlignment) {
+        mCaps.vulkanCapset.blobAlignment = 4096;
     }
 
     ctx_set_params[0].param = VIRTGPU_CONTEXT_PARAM_NUM_RINGS;
diff --git a/guest/vulkan_enc/ResourceTracker.cpp b/guest/vulkan_enc/ResourceTracker.cpp
index 3ea4d0f..6ab34d8 100644
--- a/guest/vulkan_enc/ResourceTracker.cpp
+++ b/guest/vulkan_enc/ResourceTracker.cpp
@@ -924,8 +924,8 @@
         mCaps = instance->getCaps();
 
         // Delete once goldfish Linux drivers are gone
-        if (mCaps.gfxstreamCapset.protocolVersion == 0) {
-            mCaps.gfxstreamCapset.colorBufferMemoryIndex = 0xFFFFFFFF;
+        if (mCaps.vulkanCapset.protocolVersion == 0) {
+            mCaps.vulkanCapset.colorBufferMemoryIndex = 0xFFFFFFFF;
         }
     }
 
@@ -1722,13 +1722,12 @@
             ResourceTracker::threadingCallbacks.hostConnectionGetFunc()->grallocHelper();
 
         // Delete once goldfish Linux drivers are gone
-        if (mCaps.gfxstreamCapset.colorBufferMemoryIndex == 0xFFFFFFFF) {
-            mCaps.gfxstreamCapset.colorBufferMemoryIndex =
-                    getColorBufferMemoryIndex(context, device);
+        if (mCaps.vulkanCapset.colorBufferMemoryIndex == 0xFFFFFFFF) {
+            mCaps.vulkanCapset.colorBufferMemoryIndex = getColorBufferMemoryIndex(context, device);
         }
 
         updateMemoryTypeBits(&pProperties->memoryTypeBits,
-                             mCaps.gfxstreamCapset.colorBufferMemoryIndex);
+                             mCaps.vulkanCapset.colorBufferMemoryIndex);
 
         return getAndroidHardwareBufferPropertiesANDROID(
             grallocHelper, buffer, pProperties);
@@ -3057,15 +3056,15 @@
 
         bool dedicated = deviceAddressMemoryAllocation;
 
-        if (mCaps.gfxstreamCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle])
+        if (mCaps.vulkanCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle])
             dedicated = true;
 
         VkMemoryAllocateInfo hostAllocationInfo = vk_make_orphan_copy(*pAllocateInfo);
         vk_struct_chain_iterator structChainIter = vk_make_chain_iterator(&hostAllocationInfo);
 
-        if (mCaps.gfxstreamCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle]) {
+        if (mCaps.vulkanCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle]) {
             hostAllocationInfo.allocationSize =
-                ALIGN(pAllocateInfo->allocationSize, mCaps.gfxstreamCapset.blobAlignment);
+                ALIGN(pAllocateInfo->allocationSize, mCaps.vulkanCapset.blobAlignment);
         } else if (dedicated) {
             // Over-aligning to kLargestSize to some Windows drivers (b:152769369).  Can likely
             // have host report the desired alignment.
@@ -3125,7 +3124,7 @@
             }
 
             guestBlob->wait();
-        } else if (mCaps.gfxstreamCapset.deferredMapping) {
+        } else if (mCaps.vulkanCapset.deferredMapping) {
             createBlobInfo.blobId = ++mBlobId;
             createBlobInfo.blobMem = kBlobMemHost3d;
             vk_append_struct(&structChainIter, &createBlobInfo);
@@ -3141,7 +3140,7 @@
         }
 
         struct VkDeviceMemory_Info info;
-        if (mCaps.gfxstreamCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle]) {
+        if (mCaps.vulkanCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle]) {
             info.allocationSize = pAllocateInfo->allocationSize;
             info.blobId = createBlobInfo.blobId;
         }
@@ -3173,7 +3172,7 @@
             info_VkDeviceMemory[mem] = info;
         }
 
-        if (mCaps.gfxstreamCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle]) {
+        if (mCaps.vulkanCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle]) {
             *pMemory = mem;
             return host_res;
         }
@@ -3210,7 +3209,7 @@
                          ((allocFlagsInfoPtr->flags & VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT) ||
                           (allocFlagsInfoPtr->flags & VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT));
 
-        if (mCaps.gfxstreamCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle])
+        if (mCaps.vulkanCapset.deferredMapping || mCaps.params[kParamCreateGuestHandle])
             dedicated = true;
 
         CoherentMemoryPtr coherentMemory = nullptr;
@@ -4323,15 +4322,14 @@
 
 // Delete `protocolVersion` check goldfish drivers are gone.
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
-        if (mCaps.gfxstreamCapset.colorBufferMemoryIndex == 0xFFFFFFFF) {
-            mCaps.gfxstreamCapset.colorBufferMemoryIndex =
-                    getColorBufferMemoryIndex(context, device);
+        if (mCaps.vulkanCapset.colorBufferMemoryIndex == 0xFFFFFFFF) {
+            mCaps.vulkanCapset.colorBufferMemoryIndex = getColorBufferMemoryIndex(context, device);
         }
         if (extImgCiPtr &&
             (extImgCiPtr->handleTypes &
              VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID)) {
             updateMemoryTypeBits(&memReqs.memoryTypeBits,
-                                 mCaps.gfxstreamCapset.colorBufferMemoryIndex);
+                                 mCaps.vulkanCapset.colorBufferMemoryIndex);
         }
 #endif
 
@@ -5380,17 +5378,15 @@
 
         if (res != VK_SUCCESS) return res;
 
-// Delete `protocolVersion` check goldfish drivers are gone.
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
-        if (mCaps.gfxstreamCapset.colorBufferMemoryIndex == 0xFFFFFFFF) {
-            mCaps.gfxstreamCapset.colorBufferMemoryIndex =
-                    getColorBufferMemoryIndex(context, device);
+        if (mCaps.vulkanCapset.colorBufferMemoryIndex == 0xFFFFFFFF) {
+            mCaps.vulkanCapset.colorBufferMemoryIndex = getColorBufferMemoryIndex(context, device);
         }
         if (extBufCiPtr &&
             (extBufCiPtr->handleTypes &
              VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID)) {
             updateMemoryTypeBits(&memReqs.memoryTypeBits,
-                                 mCaps.gfxstreamCapset.colorBufferMemoryIndex);
+                                 mCaps.vulkanCapset.colorBufferMemoryIndex);
         }
 #endif
 
diff --git a/host/virtgpu_gfxstream_protocol.h b/host/virtgpu_gfxstream_protocol.h
index 673852b..f5188a8 100644
--- a/host/virtgpu_gfxstream_protocol.h
+++ b/host/virtgpu_gfxstream_protocol.h
@@ -78,7 +78,7 @@
     uint32_t padding;
 };
 
-struct gfxstreamCapset {
+struct vulkanCapset {
     uint32_t protocolVersion;
 
     // ASG Ring Parameters
diff --git a/host/virtio-gpu-gfxstream-renderer.cpp b/host/virtio-gpu-gfxstream-renderer.cpp
index e057f03..312c1f1 100644
--- a/host/virtio-gpu-gfxstream-renderer.cpp
+++ b/host/virtio-gpu-gfxstream-renderer.cpp
@@ -1352,12 +1352,12 @@
 
     void getCapset(uint32_t set, uint32_t* max_size) {
         // Only one capset right not
-        *max_size = sizeof(struct gfxstream::gfxstreamCapset);
+        *max_size = sizeof(struct gfxstream::vulkanCapset);
     }
 
     void fillCaps(uint32_t set, void* caps) {
-        struct gfxstream::gfxstreamCapset* capset =
-            reinterpret_cast<struct gfxstream::gfxstreamCapset*>(caps);
+        struct gfxstream::vulkanCapset* capset =
+            reinterpret_cast<struct gfxstream::vulkanCapset*>(caps);
         if (capset) {
             memset(capset, 0, sizeof(*capset));