Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 48b5a118 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "vulkan: remove the temp hack for VK_ANDROID_native_buffer and regen framework"

parents 429c8637 4bc489bb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -544,9 +544,9 @@ bool InitDriverTable(VkDevice dev,
    INIT_PROC_EXT(KHR_bind_memory2, true, dev, BindImageMemory2KHR);
    INIT_PROC(false, dev, GetDeviceQueue2);
    INIT_PROC_EXT(ANDROID_native_buffer, false, dev, GetSwapchainGrallocUsageANDROID);
    INIT_PROC_EXT(ANDROID_native_buffer, false, dev, GetSwapchainGrallocUsage2ANDROID);
    INIT_PROC_EXT(ANDROID_native_buffer, true, dev, AcquireImageANDROID);
    INIT_PROC_EXT(ANDROID_native_buffer, true, dev, QueueSignalReleaseImageANDROID);
    INIT_PROC_EXT(ANDROID_native_buffer, false, dev, GetSwapchainGrallocUsage2ANDROID);
    // clang-format on

    return success;
+1 −1
Original line number Diff line number Diff line
@@ -91,9 +91,9 @@ struct DeviceDriverTable {
    PFN_vkBindImageMemory2KHR BindImageMemory2KHR;
    PFN_vkGetDeviceQueue2 GetDeviceQueue2;
    PFN_vkGetSwapchainGrallocUsageANDROID GetSwapchainGrallocUsageANDROID;
    PFN_vkGetSwapchainGrallocUsage2ANDROID GetSwapchainGrallocUsage2ANDROID;
    PFN_vkAcquireImageANDROID AcquireImageANDROID;
    PFN_vkQueueSignalReleaseImageANDROID QueueSignalReleaseImageANDROID;
    PFN_vkGetSwapchainGrallocUsage2ANDROID GetSwapchainGrallocUsage2ANDROID;
    // clang-format on
};

+2 −2
Original line number Diff line number Diff line
@@ -16,10 +16,10 @@

// WARNING: This file is generated. See ../README.md for instructions.

#include "null_driver_gen.h"

#include <algorithm>

#include "null_driver_gen.h"

using namespace null_driver;

namespace {
+1 −1
Original line number Diff line number Diff line
@@ -204,9 +204,9 @@ VKAPI_ATTR void DestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrCon
VKAPI_ATTR void GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
VKAPI_ATTR void GetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
VKAPI_ATTR VkResult GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage);
VKAPI_ATTR VkResult GetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage);
VKAPI_ATTR VkResult AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence);
VKAPI_ATTR VkResult QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd);
VKAPI_ATTR VkResult GetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage);
VKAPI_ATTR VkResult GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage);
VKAPI_ATTR VkResult AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence);
VKAPI_ATTR VkResult QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd);
+15 −29
Original line number Diff line number Diff line
@@ -166,16 +166,13 @@ def parseVulkanRegistry():
  vulkan_registry = os.path.join(os.path.dirname(__file__),'..','..','..','..','external','vulkan-headers','registry','vk.xml')
  tree = ET.parse(vulkan_registry)
  root = tree.getroot()
  protoset = False
  fnName = ""
  fnType = ""
  for commands in root.iter('commands'):
    for command in commands:
      if command.tag == 'command':
        if protoset == True:
          paramDict[fnName] = parametersList.copy()
        parametersList.clear()
        protoset = False
        fnName = ""
        fnType = ""
        if command.get('alias') != None:
          alias = command.get('alias')
          fnName = command.get('name')
@@ -184,18 +181,18 @@ def parseVulkanRegistry():
          paramDict[fnName] = paramDict[alias].copy()
          returnTypeDict[fnName] = returnTypeDict[alias]
        for params in command:
          if(params.tag == 'param'):
          if params.tag == 'param':
            paramtype = ""
            if params.text!=None:
              paramtype = params.text
            if params.text != None and params.text.strip() != '':
              paramtype = params.text.strip() + ' '
            typeval = params.find('type')
            paramtype = paramtype + typeval.text
            if typeval.tail != None:
              paramtype = paramtype + typeval.tail
              paramtype += typeval.tail.strip() + ' '
            pname = params.find('name')
            paramname = pname.text
            if pname.tail != None:
              parametersList.append((paramtype,paramname,pname.tail))
            if pname.tail != None and pname.tail.strip() != '':
              parametersList.append((paramtype, paramname, pname.tail.strip()))
            else:
              parametersList.append((paramtype, paramname))
          if params.tag == 'proto':
@@ -207,6 +204,8 @@ def parseVulkanRegistry():
                protoset = True
                allCommandsList.append(fnName)
                returnTypeDict[fnName] = fnType
        if protoset == True:
          paramDict[fnName] = parametersList.copy()

  for exts in root.iter('extensions'):
    for extension in exts:
@@ -224,19 +223,6 @@ def parseVulkanRegistry():
                if apiversion != "":
                  versionDict[commandname] = apiversion

  # TODO(adsrini): http://b/136570819
  extensionsDict['vkGetSwapchainGrallocUsage2ANDROID'] = 'VK_ANDROID_native_buffer'
  allCommandsList.append('vkGetSwapchainGrallocUsage2ANDROID')
  returnTypeDict['vkGetSwapchainGrallocUsage2ANDROID'] = 'VkResult'
  paramDict['vkGetSwapchainGrallocUsage2ANDROID'] = [
    ('VkDevice ', 'device'),
    ('VkFormat ', 'format'),
    ('VkImageUsageFlags ', 'imageUsage'),
    ('VkSwapchainImageUsageFlagsANDROID ', 'swapchainImageUsage'),
    ('uint64_t* ', 'grallocConsumerUsage'),
    ('uint64_t* ', 'grallocProducerUsage')
  ]

  for feature in root.iter('feature'):
    apiversion = feature.get('name')
    for req in feature: