0
0
mirror of https://github.com/termux/termux-packages.git synced 2025-06-03 15:25:17 +00:00
Files
termux-packages/x11-packages/chromium-host-tools/cr-patches/1703-swiftshader-no-android.patch
2025-04-22 18:31:06 +08:00

407 lines
15 KiB
Diff

diff -uNr a/third_party/swiftshader/src/Vulkan/VkGetProcAddress.cpp b/third_party/swiftshader/src/Vulkan/VkGetProcAddress.cpp
--- a/third_party/swiftshader/src/Vulkan/VkGetProcAddress.cpp
+++ b/third_party/swiftshader/src/Vulkan/VkGetProcAddress.cpp
@@ -19,7 +19,7 @@
#include <unordered_map>
#include <vector>
-#ifdef __ANDROID__
+#if (defined(__ANDROID__) && !defined(__TERMUX__))
# include <hardware/hwvulkan.h>
# include <vulkan/vk_android_native_buffer.h>
# include <cerrno>
@@ -105,7 +105,7 @@
MAKE_VULKAN_INSTANCE_ENTRY(vkSubmitDebugUtilsMessageEXT),
// VK_EXT_tooling_info
MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceToolProperties),
-#ifndef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
// VK_KHR_surface
MAKE_VULKAN_INSTANCE_ENTRY(vkDestroySurfaceKHR),
MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSurfaceSupportKHR),
@@ -310,7 +310,7 @@
MAKE_VULKAN_DEVICE_ENTRY(vkQueueInsertDebugUtilsLabelEXT),
MAKE_VULKAN_DEVICE_ENTRY(vkSetDebugUtilsObjectNameEXT),
MAKE_VULKAN_DEVICE_ENTRY(vkSetDebugUtilsObjectTagEXT),
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
MAKE_VULKAN_DEVICE_ENTRY(vkGetSwapchainGrallocUsageANDROID),
MAKE_VULKAN_DEVICE_ENTRY(vkGetSwapchainGrallocUsage2ANDROID),
MAKE_VULKAN_DEVICE_ENTRY(vkAcquireImageANDROID),
@@ -535,7 +535,7 @@
MAKE_VULKAN_DEVICE_ENTRY(vkCmdWriteTimestamp2KHR),
MAKE_VULKAN_DEVICE_ENTRY(vkQueueSubmit2KHR),
} },
-#ifndef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
// VK_KHR_swapchain
{
VK_KHR_SWAPCHAIN_EXTENSION_NAME,
@@ -680,7 +680,7 @@
} // namespace vk
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
extern "C" hwvulkan_module_t HAL_MODULE_INFO_SYM;
diff -uNr a/third_party/swiftshader/src/Vulkan/VkImage.cpp b/third_party/swiftshader/src/Vulkan/VkImage.cpp
--- a/third_party/swiftshader/src/Vulkan/VkImage.cpp
+++ b/third_party/swiftshader/src/Vulkan/VkImage.cpp
@@ -25,7 +25,7 @@
#include "Device/Blitter.hpp"
#include "Device/ETC_Decoder.hpp"
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
# include <vndk/hardware_buffer.h>
# include "VkDeviceMemoryExternalAndroid.hpp"
@@ -135,7 +135,7 @@
// VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID, are not enumerated in the official Vulkan headers.
switch((int)(nextInfo->sType))
{
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
{
const VkExternalFormatANDROID *externalFormatAndroid = reinterpret_cast<const VkExternalFormatANDROID *>(nextInfo);
@@ -317,7 +317,7 @@
}
}
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
VkResult Image::prepareForExternalUseANDROID() const
{
VkExtent3D extent = getMipLevelExtent(VK_IMAGE_ASPECT_COLOR_BIT, 0);
diff -uNr a/third_party/swiftshader/src/Vulkan/VkImage.hpp b/third_party/swiftshader/src/Vulkan/VkImage.hpp
--- a/third_party/swiftshader/src/Vulkan/VkImage.hpp
+++ b/third_party/swiftshader/src/Vulkan/VkImage.hpp
@@ -20,7 +20,7 @@
#include "marl/mutex.h"
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
# include <vulkan/vk_android_native_buffer.h> // For VkSwapchainImageUsageFlagsANDROID and buffer_handle_t
#endif
@@ -33,7 +33,7 @@
class DeviceMemory;
class ImageView;
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
struct BackingMemory
{
bool externalMemory = false;
@@ -48,7 +48,7 @@
Image(const VkImageCreateInfo *pCreateInfo, void *mem, Device *device);
void destroy(const VkAllocationCallbacks *pAllocator);
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
VkResult prepareForExternalUseANDROID() const;
#endif
@@ -110,7 +110,7 @@
void contentsChanged(const VkImageSubresourceRange &subresourceRange, ContentsChangedContext contentsChangedContext = DIRECT_MEMORY_ACCESS);
const Image *getSampledImage(const vk::Format &imageViewFormat) const;
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
void setBackingMemory(BackingMemory &bm)
{
backingMemory = bm;
@@ -162,7 +162,7 @@
VkImageTiling tiling = VK_IMAGE_TILING_OPTIMAL;
VkImageUsageFlags usage = (VkImageUsageFlags)0;
Image *decompressedImage = nullptr;
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
BackingMemory backingMemory = {};
#endif
diff -uNr a/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.cpp b/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.cpp
--- a/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.cpp
+++ b/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.cpp
@@ -22,7 +22,7 @@
#include <cstring>
#include <limits>
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
# include <android/hardware_buffer.h>
#endif
@@ -971,7 +971,7 @@
properties->combinedImageSamplerDescriptorCount = 1; // Need only one descriptor for YCbCr sampling.
}
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
void PhysicalDevice::getProperties(VkPhysicalDevicePresentationPropertiesANDROID *properties) const
{
properties->sharedImage = VK_FALSE;
diff -uNr a/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.hpp b/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.hpp
--- a/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.hpp
+++ b/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.hpp
@@ -69,7 +69,7 @@
void getProperties(const VkExternalMemoryHandleTypeFlagBits *handleType, VkExternalImageFormatProperties *properties) const;
void getProperties(const VkExternalMemoryHandleTypeFlagBits *handleType, VkExternalBufferProperties *properties) const;
void getProperties(VkSamplerYcbcrConversionImageFormatProperties *properties) const;
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
void getProperties(VkPhysicalDevicePresentationPropertiesANDROID *properties) const;
void getProperties(const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkAndroidHardwareBufferUsageANDROID *properties) const;
#endif
diff -uNr a/third_party/swiftshader/src/Vulkan/VkQueue.cpp b/third_party/swiftshader/src/Vulkan/VkQueue.cpp
--- a/third_party/swiftshader/src/Vulkan/VkQueue.cpp
+++ b/third_party/swiftshader/src/Vulkan/VkQueue.cpp
@@ -189,7 +189,7 @@
}
}
-#ifndef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
VkResult Queue::present(const VkPresentInfoKHR *presentInfo)
{
// This is a hack to deal with screen tearing for now.
diff -uNr a/third_party/swiftshader/src/Vulkan/VkQueue.hpp b/third_party/swiftshader/src/Vulkan/VkQueue.hpp
--- a/third_party/swiftshader/src/Vulkan/VkQueue.hpp
+++ b/third_party/swiftshader/src/Vulkan/VkQueue.hpp
@@ -53,7 +53,7 @@
VkResult submit(uint32_t submitCount, SubmitInfo *pSubmits, Fence *fence);
VkResult waitIdle();
-#ifndef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
VkResult present(const VkPresentInfoKHR *presentInfo);
#endif
diff -uNr a/third_party/swiftshader/src/Vulkan/libVulkan.cpp b/third_party/swiftshader/src/Vulkan/libVulkan.cpp
--- a/third_party/swiftshader/src/Vulkan/libVulkan.cpp
+++ b/third_party/swiftshader/src/Vulkan/libVulkan.cpp
@@ -81,7 +81,7 @@
#include "marl/thread.h"
#include "marl/tsa.h"
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
# include <unistd.h>
# include "commit.h"
@@ -105,7 +105,7 @@
namespace {
// Enable commit_id.py and #include commit.h for other platforms.
-#if defined(__ANDROID__) && defined(ENABLE_BUILD_VERSION_OUTPUT)
+#if defined(__ANDROID__) && !defined(__TERMUX__) && defined(ENABLE_BUILD_VERSION_OUTPUT)
void logBuildVersionInformation()
{
// TODO(b/144093703): Don't call __android_log_print() directly
@@ -140,7 +140,7 @@
void initializeLibrary()
{
static bool doOnce = [] {
-#if defined(__ANDROID__) && defined(ENABLE_BUILD_VERSION_OUTPUT)
+#if defined(__ANDROID__) && !defined(__TERMUX__) && defined(ENABLE_BUILD_VERSION_OUTPUT)
logBuildVersionInformation();
#endif // __ANDROID__ && ENABLE_BUILD_VERSION_OUTPUT
return true;
@@ -322,7 +322,7 @@
{ { VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION } },
{ { VK_EXT_DEBUG_UTILS_EXTENSION_NAME, VK_EXT_DEBUG_UTILS_SPEC_VERSION } },
{ { VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME, VK_EXT_HEADLESS_SURFACE_SPEC_VERSION } },
-#ifndef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
{ { VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_SURFACE_SPEC_VERSION } },
{ { VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME, VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION } },
{ { VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME, VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION } },
@@ -376,7 +376,7 @@
// Only 1.1 core version of this is supported. The extension has additional requirements
//{{ VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION }},
{ { VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME, VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION } },
-#ifndef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
// We fully support the KHR_swapchain v70 additions, so just track the spec version.
{ { VK_KHR_SWAPCHAIN_EXTENSION_NAME, VK_KHR_SWAPCHAIN_SPEC_VERSION } },
#else
@@ -449,7 +449,7 @@
{ { VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION } },
{ { VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME, VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION } },
{ { VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME, VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION } },
-#ifndef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
{ { VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME, VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION } },
{ { VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME, VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION } },
#endif
@@ -2038,7 +2038,7 @@
const VkBaseInStructure *extensionCreateInfo = reinterpret_cast<const VkBaseInStructure *>(pCreateInfo->pNext);
-#ifdef __ANDROID__
+#if (defined(__ANDROID__) && !defined(__TERMUX__))
vk::BackingMemory backmem;
bool swapchainImage = false;
#endif
@@ -2049,7 +2049,7 @@
// VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID, are not enumerated in the official Vulkan headers.
switch((int)(extensionCreateInfo->sType))
{
-#ifdef __ANDROID__
+#if (defined(__ANDROID__) && !defined(__TERMUX__))
case VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID:
{
const VkSwapchainImageCreateInfoANDROID *swapImageCreateInfo = reinterpret_cast<const VkSwapchainImageCreateInfoANDROID *>(extensionCreateInfo);
@@ -2109,7 +2109,7 @@
VkResult result = vk::Image::Create(pAllocator, pCreateInfo, pImage, vk::Cast(device));
-#ifdef __ANDROID__
+#if (defined(__ANDROID__) && !defined(__TERMUX__))
if(swapchainImage)
{
if(result != VK_SUCCESS)
@@ -2147,7 +2147,7 @@
TRACE("(VkDevice device = %p, VkImage image = %p, const VkAllocationCallbacks* pAllocator = %p)",
device, static_cast<void *>(image), pAllocator);
-#ifdef __ANDROID__
+#if (defined(__ANDROID__) && !defined(__TERMUX__))
vk::Image *img = vk::Cast(image);
if(img && img->hasExternalMemory())
{
@@ -3573,7 +3573,7 @@
/* Do nothing */
break;
-#ifndef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
{
const auto *swapchainInfo = reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR *>(extInfo);
@@ -3783,7 +3783,7 @@
vk::Cast(physicalDevice)->getProperties(properties);
}
break;
-#ifdef __ANDROID__
+#if (defined(__ANDROID__) && !defined(__TERMUX__))
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID:
{
auto *properties = reinterpret_cast<VkPhysicalDevicePresentationPropertiesANDROID *>(extensionProperties);
@@ -4002,7 +4002,7 @@
VkBaseOutStructure *extensionProperties = reinterpret_cast<VkBaseOutStructure *>(pImageFormatProperties->pNext);
-#ifdef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
bool hasAHBUsage = false;
#endif
@@ -4036,7 +4036,7 @@
properties->identicalMemoryLayout = VK_TRUE;
}
break;
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
{
auto *properties = reinterpret_cast<VkAndroidHardwareBufferUsageANDROID *>(extensionProperties);
@@ -4066,7 +4066,7 @@
vk::Cast(physicalDevice)->getImageFormatProperties(format, type, tiling, usage, flags, &pImageFormatProperties->imageFormatProperties);
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
if(hasAHBUsage)
{
// AHardwareBuffer_lock may only be called with a single layer.
@@ -4189,7 +4189,7 @@
{
switch(extInfo->sType)
{
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
break;
#endif
@@ -4703,7 +4703,7 @@
return vk::HeadlessSurfaceKHR::Create(pAllocator, pCreateInfo, pSurface);
}
-#ifndef __ANDROID__
+#if !(defined(__ANDROID__) && !defined(__TERMUX__))
VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks *pAllocator)
{
TRACE("(VkInstance instance = %p, VkSurfaceKHR surface = %p, const VkAllocationCallbacks* pAllocator = %p)",
@@ -4921,7 +4921,7 @@
#endif // ! __ANDROID__
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainUsage, uint64_t *grallocConsumerUsage, uint64_t *grallocProducerUsage)
{
--- a/third_party/swiftshader/src/System/Debug.cpp
+++ b/third_party/swiftshader/src/System/Debug.cpp
@@ -14,7 +14,7 @@
#include "Debug.hpp"
-#if __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
# include <android/log.h>
#endif
@@ -55,7 +55,7 @@
Disabled,
};
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
[[maybe_unused]] void logv_android(Level level, const char *msg)
{
switch(level)
@@ -107,7 +107,7 @@
char buffer[2048];
vsnprintf(buffer, sizeof(buffer), format, args);
-# if defined(__ANDROID__)
+# if defined(__ANDROID__) && !defined(__TERMUX__)
logv_android(level, buffer);
# elif defined(_WIN32)
logv_std(level, buffer);
--- a/third_party/swiftshader/src/Reactor/Debug.cpp
+++ b/third_party/swiftshader/src/Reactor/Debug.cpp
@@ -19,7 +19,7 @@
#include <cstdio>
#include <string>
-#if __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
# include <android/log.h>
#endif
@@ -105,7 +105,7 @@
Fatal,
};
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(__TERMUX__)
[[maybe_unused]] void logv_android(Level level, const char *msg)
{
switch(level)
@@ -156,7 +156,7 @@
char buffer[2048];
vsnprintf(buffer, sizeof(buffer), format, args);
-# if defined(__ANDROID__)
+# if defined(__ANDROID__) && !defined(__TERMUX__)
logv_android(level, buffer);
# elif defined(_WIN32)
logv_std(level, buffer);