about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-08-04 20:44:30 +0200
committerGitHub <noreply@github.com>2023-08-04 20:44:30 +0200
commite4b235378be84f434928fd5fbaa634e1da0b7edd (patch)
tree49a4d6058495cca62f8a8778e7483f556feaf469
parent0f7b23148f614b23d58736b95337a5b8f6ecd638 (diff)
parent4f5f6b25e89f81efd598ff8bc72f4b484656443d (diff)
downloadbox64-e4b235378be84f434928fd5fbaa634e1da0b7edd.tar.gz
box64-e4b235378be84f434928fd5fbaa634e1da0b7edd.zip
Merge pull request #923 from strongtz/main
Add a new vulkan extension: VK_EXT_descriptor_buffer
-rw-r--r--CMakeLists.txt9
-rw-r--r--src/wrapped/generated/functions_list.txt1
-rw-r--r--src/wrapped/generated/wrapper.c1
-rw-r--r--src/wrapped/generated/wrapper.h1
-rw-r--r--src/wrapped/wrappedvulkan_private.h13
5 files changed, 23 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3482859d..88c8eacf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,6 +14,7 @@ option(ODROIDN2 "Set to ON if targeting an Odroid-N2 device" ${ODROIDN2})
 option(TEGRAX1 "Set to ON if targeting an Tegra X1 based device" ${TEGRAX1})
 option(PHYTIUM "Set to ON if targeting an Phytium (D2000 or FT2000/4) based device" ${PHYTIUM})
 option(SD845 "Set to ON if targeting a Snapragon 845 based device" ${SD845})
+option(SD888 "Set to ON if targeting a Snapragon 888 based device" ${SD888})
 option(M1 "Set to ON if targeting a AppleM1 running on Asahi computer" ${M1})
 option(LARCH64 "Set to ON if targeting an Loongarch64 based device" ${LARCH64})
 option(RV64 "Set to ON if targeting an RISC-V RV64GC based device" ${RV64})
@@ -47,13 +48,13 @@ if(PPC64LE)
     set(RV64_DYNAREC OFF CACHE BOOL "")
     set(PAGE16K OFF CACHE BOOL "")
 endif()
-if(RK3399 OR RK3588 OR ODROIDN2 OR RPI3ARM64 OR RPI4ARM64 OR RK3326 OR TEGRAX1 OR PHYTIUM OR SD845 OR LX2160A OR M1 OR ARM64)
+if(RK3399 OR RK3588 OR ODROIDN2 OR RPI3ARM64 OR RPI4ARM64 OR RK3326 OR TEGRAX1 OR PHYTIUM OR SD845 OR SD888 OR LX2160A OR M1 OR ARM64)
     set(LD80BITS OFF CACHE BOOL "")
     set(NOALIGN OFF CACHE BOOL "")
     set(ARM_DYNAREC ON CACHE BOOL "")
     set(RV64_DYNAREC OFF CACHE BOOL "")
 endif()
-if(RK3399 OR RK3588 OR ODROIDN2 OR RPI3ARM64 OR RPI4ARM64 OR RK3326 OR TEGRAX1 OR PHYTIUM OR SD845 OR LX2160A)
+if(RK3399 OR RK3588 OR ODROIDN2 OR RPI3ARM64 OR RPI4ARM64 OR RK3326 OR TEGRAX1 OR PHYTIUM OR SD845 OR SD888 OR LX2160A)
     set(PAGE16K OFF CACHE BOOL "")
 endif()
 if(RK3588)
@@ -145,6 +146,10 @@ elseif(SD845)
     add_definitions(-DSD845)
     add_definitions(-pipe -march=armv8.2-a+simd+crypto -mtune=cortex-a75.cortex-a55)
     set(CMAKE_ASM_FLAGS  "-pipe -march=armv8.2-a+simd+crypto -mtune=cortex-a75.cortex-a55")
+elseif(SD888)
+    add_definitions(-DSD888)
+    add_definitions(-pipe -march=armv8.4-a+crypto)
+    set(CMAKE_ASM_FLAGS  "-pipe -march=armv8.4-a+crypto")
 elseif(M1)
     add_definitions(-DM1)
     add_definitions(-pipe -march=armv8.5-a+simd+crypto)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 7d5370fd..fc2c6348 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -854,6 +854,7 @@
 #() vFppui
 #() vFppuu
 #() vFppup
+#() vFppUu
 #() vFppfi
 #() vFppff
 #() vFppdu
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 91d491ea..cb85dc83 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -890,6 +890,7 @@ typedef void (*vFppip_t)(void*, void*, int32_t, void*);
 typedef void (*vFppui_t)(void*, void*, uint32_t, int32_t);
 typedef void (*vFppuu_t)(void*, void*, uint32_t, uint32_t);
 typedef void (*vFppup_t)(void*, void*, uint32_t, void*);
+typedef void (*vFppUu_t)(void*, void*, uint64_t, uint32_t);
 typedef void (*vFppfi_t)(void*, void*, float, int32_t);
 typedef void (*vFppff_t)(void*, void*, float, float);
 typedef void (*vFppdu_t)(void*, void*, double, uint32_t);
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 7d79fd63..d8a1fa40 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -891,6 +891,7 @@ void vFppip(x64emu_t *emu, uintptr_t fnc);
 void vFppui(x64emu_t *emu, uintptr_t fnc);
 void vFppuu(x64emu_t *emu, uintptr_t fnc);
 void vFppup(x64emu_t *emu, uintptr_t fnc);
+void vFppUu(x64emu_t *emu, uintptr_t fnc);
 void vFppfi(x64emu_t *emu, uintptr_t fnc);
 void vFppff(x64emu_t *emu, uintptr_t fnc);
 void vFppdu(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedvulkan_private.h b/src/wrapped/wrappedvulkan_private.h
index 1697fede..96ee093b 100644
--- a/src/wrapped/wrappedvulkan_private.h
+++ b/src/wrapped/wrappedvulkan_private.h
@@ -816,3 +816,16 @@ GO(vkReleaseSwapchainImagesEXT, iFpp)
 // VK_VALVE_descriptor_set_host_mapping
 GO(vkGetDescriptorSetHostMappingVALVE, vFppp)
 GO(vkGetDescriptorSetLayoutHostMappingInfoVALVE, vFppp)
+
+// VK_EXT_descriptor_buffer
+GO(vkCmdBindDescriptorBufferEmbeddedSamplersEXT, vFppUu)
+GO(vkCmdBindDescriptorBuffersEXT, vFpup)
+GO(vkCmdSetDescriptorBufferOffsetsEXT, vFppUuupp)
+GO(vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, vFppp)
+GO(vkGetBufferOpaqueCaptureDescriptorDataEXT, vFppp)
+GO(vkGetDescriptorEXT, vFppLp)
+GO(vkGetDescriptorSetLayoutBindingOffsetEXT, vFpUup)
+GO(vkGetDescriptorSetLayoutSizeEXT, vFpUp)
+GO(vkGetImageOpaqueCaptureDescriptorDataEXT, vFppp)
+GO(vkGetImageViewOpaqueCaptureDescriptorDataEXT, vFppp)
+GO(vkGetSamplerOpaqueCaptureDescriptorDataEXT, vFppp)