Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 15 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ on:

jobs:
build_and_test:
# Use chromium as a test build, so don't run this job unless something simple works first
needs: chromium
needs: generate_source
runs-on: ${{matrix.os}}
strategy:
matrix:
Expand All @@ -34,8 +33,7 @@ jobs:
working-directory: build/

windows-arm64:
# Use chromium as a test build, so don't run this job unless something simple works first
needs: chromium
needs: generate_source
runs-on: windows-latest
env:
CMAKE_GENERATOR: Ninja
Expand All @@ -49,8 +47,7 @@ jobs:
- run: cmake --install build --prefix build/install

android:
# Use chromium as a test build, so don't run this job unless something simple works first
needs: chromium
needs: generate_source
runs-on: ubuntu-24.04
strategy:
matrix:
Expand Down Expand Up @@ -84,18 +81,18 @@ jobs:
uses: fsfe/reuse-action@v6

# Test to ensure we don't accidentally break the Chromium build.
chromium:
needs: generate_source
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: '3.10'
- name: Install WSI dependencies
run: sudo apt-get -qq update && sudo apt-get install -y libwayland-dev xorg-dev
- name: Test chromium build
run: python scripts/gn/gn.py
# chromium:
# needs: generate_source
# runs-on: ubuntu-24.04
# steps:
# - uses: actions/checkout@v6
# - uses: actions/setup-python@v6
# with:
# python-version: '3.10'
# - name: Install WSI dependencies
# run: sudo apt-get -qq update && sudo apt-get install -y libwayland-dev xorg-dev
# - name: Test chromium build
# run: python scripts/gn/gn.py

generate_source:
runs-on: ubuntu-24.04
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required(VERSION 3.22.1)

# The VERSION field is generated with the "--generated-version" flag in the generate_source.py script
project(VUL VERSION 1.4.347 LANGUAGES CXX)
project(VUL VERSION 1.4.349 LANGUAGES CXX)

set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Remove when min is 3.26, see CMP0143

Expand Down
2 changes: 2 additions & 0 deletions include/vulkan/utility/vk_dispatch_table.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ typedef struct VkuInstanceDispatchTable_ {
PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV;
PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM;
PFN_vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM EnumeratePhysicalDeviceShaderInstrumentationMetricsARM;
PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM;
#ifdef VK_USE_PLATFORM_UBM_SEC
PFN_vkCreateUbmSurfaceSEC CreateUbmSurfaceSEC;
PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC GetPhysicalDeviceUbmPresentationSupportSEC;
Expand Down Expand Up @@ -1792,6 +1793,7 @@ static inline void vkuInitInstanceDispatchTable(VkInstance instance, VkuInstance
table->GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)gipa(instance, "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV");
table->EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM)gipa(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM");
table->EnumeratePhysicalDeviceShaderInstrumentationMetricsARM = (PFN_vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM)gipa(instance, "vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM");
table->GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM)gipa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM");
#ifdef VK_USE_PLATFORM_UBM_SEC
table->CreateUbmSurfaceSEC = (PFN_vkCreateUbmSurfaceSEC)gipa(instance, "vkCreateUbmSurfaceSEC");
table->GetPhysicalDeviceUbmPresentationSupportSEC = (PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC)gipa(instance, "vkGetPhysicalDeviceUbmPresentationSupportSEC");
Expand Down
203 changes: 203 additions & 0 deletions include/vulkan/utility/vk_safe_struct.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24200,6 +24200,209 @@ struct safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM {
return reinterpret_cast<VkPhysicalDeviceDataGraphModelFeaturesQCOM const*>(this);
}
};
struct safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM {
VkStructureType sType;
void* pNext{};
VkBool32 dataGraphOpticalFlow;

safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM(const VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM(const safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM& copy_src);
safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM& operator=(
const safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM& copy_src);
safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM();
~safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM();
void initialize(const VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* copy_src, PNextCopyState* copy_state = {});
VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* ptr() {
return reinterpret_cast<VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM*>(this);
}
VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM const* ptr() const {
return reinterpret_cast<VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM const*>(this);
}
};
struct safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM {
VkStructureType sType;
void* pNext{};
VkDataGraphOpticalFlowGridSizeFlagsARM supportedOutputGridSizes;
VkDataGraphOpticalFlowGridSizeFlagsARM supportedHintGridSizes;
VkBool32 hintSupported;
VkBool32 costSupported;
uint32_t minWidth;
uint32_t minHeight;
uint32_t maxWidth;
uint32_t maxHeight;

safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM(const VkQueueFamilyDataGraphOpticalFlowPropertiesARM* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM(const safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM& copy_src);
safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM& operator=(
const safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM& copy_src);
safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM();
~safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM();
void initialize(const VkQueueFamilyDataGraphOpticalFlowPropertiesARM* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM* copy_src, PNextCopyState* copy_state = {});
VkQueueFamilyDataGraphOpticalFlowPropertiesARM* ptr() {
return reinterpret_cast<VkQueueFamilyDataGraphOpticalFlowPropertiesARM*>(this);
}
VkQueueFamilyDataGraphOpticalFlowPropertiesARM const* ptr() const {
return reinterpret_cast<VkQueueFamilyDataGraphOpticalFlowPropertiesARM const*>(this);
}
};
struct safe_VkDataGraphPipelineOpticalFlowCreateInfoARM {
VkStructureType sType;
void* pNext{};
uint32_t width;
uint32_t height;
VkFormat imageFormat;
VkFormat flowVectorFormat;
VkFormat costFormat;
VkDataGraphOpticalFlowGridSizeFlagsARM outputGridSize;
VkDataGraphOpticalFlowGridSizeFlagsARM hintGridSize;
VkDataGraphOpticalFlowPerformanceLevelARM performanceLevel;
VkDataGraphOpticalFlowCreateFlagsARM flags;

safe_VkDataGraphPipelineOpticalFlowCreateInfoARM(const VkDataGraphPipelineOpticalFlowCreateInfoARM* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkDataGraphPipelineOpticalFlowCreateInfoARM(const safe_VkDataGraphPipelineOpticalFlowCreateInfoARM& copy_src);
safe_VkDataGraphPipelineOpticalFlowCreateInfoARM& operator=(const safe_VkDataGraphPipelineOpticalFlowCreateInfoARM& copy_src);
safe_VkDataGraphPipelineOpticalFlowCreateInfoARM();
~safe_VkDataGraphPipelineOpticalFlowCreateInfoARM();
void initialize(const VkDataGraphPipelineOpticalFlowCreateInfoARM* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkDataGraphPipelineOpticalFlowCreateInfoARM* copy_src, PNextCopyState* copy_state = {});
VkDataGraphPipelineOpticalFlowCreateInfoARM* ptr() {
return reinterpret_cast<VkDataGraphPipelineOpticalFlowCreateInfoARM*>(this);
}
VkDataGraphPipelineOpticalFlowCreateInfoARM const* ptr() const {
return reinterpret_cast<VkDataGraphPipelineOpticalFlowCreateInfoARM const*>(this);
}
};
struct safe_VkDataGraphOpticalFlowImageFormatPropertiesARM {
VkStructureType sType;
void* pNext{};
VkFormat format;

safe_VkDataGraphOpticalFlowImageFormatPropertiesARM(const VkDataGraphOpticalFlowImageFormatPropertiesARM* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkDataGraphOpticalFlowImageFormatPropertiesARM(const safe_VkDataGraphOpticalFlowImageFormatPropertiesARM& copy_src);
safe_VkDataGraphOpticalFlowImageFormatPropertiesARM& operator=(
const safe_VkDataGraphOpticalFlowImageFormatPropertiesARM& copy_src);
safe_VkDataGraphOpticalFlowImageFormatPropertiesARM();
~safe_VkDataGraphOpticalFlowImageFormatPropertiesARM();
void initialize(const VkDataGraphOpticalFlowImageFormatPropertiesARM* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkDataGraphOpticalFlowImageFormatPropertiesARM* copy_src, PNextCopyState* copy_state = {});
VkDataGraphOpticalFlowImageFormatPropertiesARM* ptr() {
return reinterpret_cast<VkDataGraphOpticalFlowImageFormatPropertiesARM*>(this);
}
VkDataGraphOpticalFlowImageFormatPropertiesARM const* ptr() const {
return reinterpret_cast<VkDataGraphOpticalFlowImageFormatPropertiesARM const*>(this);
}
};
struct safe_VkDataGraphOpticalFlowImageFormatInfoARM {
VkStructureType sType;
const void* pNext{};
VkDataGraphOpticalFlowImageUsageFlagsARM usage;

safe_VkDataGraphOpticalFlowImageFormatInfoARM(const VkDataGraphOpticalFlowImageFormatInfoARM* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkDataGraphOpticalFlowImageFormatInfoARM(const safe_VkDataGraphOpticalFlowImageFormatInfoARM& copy_src);
safe_VkDataGraphOpticalFlowImageFormatInfoARM& operator=(const safe_VkDataGraphOpticalFlowImageFormatInfoARM& copy_src);
safe_VkDataGraphOpticalFlowImageFormatInfoARM();
~safe_VkDataGraphOpticalFlowImageFormatInfoARM();
void initialize(const VkDataGraphOpticalFlowImageFormatInfoARM* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkDataGraphOpticalFlowImageFormatInfoARM* copy_src, PNextCopyState* copy_state = {});
VkDataGraphOpticalFlowImageFormatInfoARM* ptr() { return reinterpret_cast<VkDataGraphOpticalFlowImageFormatInfoARM*>(this); }
VkDataGraphOpticalFlowImageFormatInfoARM const* ptr() const {
return reinterpret_cast<VkDataGraphOpticalFlowImageFormatInfoARM const*>(this);
}
};
struct safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM {
VkStructureType sType;
void* pNext{};
VkDataGraphOpticalFlowExecuteFlagsARM flags;
uint32_t meanFlowL1NormHint;

safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM(const VkDataGraphPipelineOpticalFlowDispatchInfoARM* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM(const safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM& copy_src);
safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM& operator=(
const safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM& copy_src);
safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM();
~safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM();
void initialize(const VkDataGraphPipelineOpticalFlowDispatchInfoARM* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM* copy_src, PNextCopyState* copy_state = {});
VkDataGraphPipelineOpticalFlowDispatchInfoARM* ptr() {
return reinterpret_cast<VkDataGraphPipelineOpticalFlowDispatchInfoARM*>(this);
}
VkDataGraphPipelineOpticalFlowDispatchInfoARM const* ptr() const {
return reinterpret_cast<VkDataGraphPipelineOpticalFlowDispatchInfoARM const*>(this);
}
};
struct safe_VkDataGraphPipelineResourceInfoImageLayoutARM {
VkStructureType sType;
const void* pNext{};
VkImageLayout layout;

safe_VkDataGraphPipelineResourceInfoImageLayoutARM(const VkDataGraphPipelineResourceInfoImageLayoutARM* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkDataGraphPipelineResourceInfoImageLayoutARM(const safe_VkDataGraphPipelineResourceInfoImageLayoutARM& copy_src);
safe_VkDataGraphPipelineResourceInfoImageLayoutARM& operator=(
const safe_VkDataGraphPipelineResourceInfoImageLayoutARM& copy_src);
safe_VkDataGraphPipelineResourceInfoImageLayoutARM();
~safe_VkDataGraphPipelineResourceInfoImageLayoutARM();
void initialize(const VkDataGraphPipelineResourceInfoImageLayoutARM* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkDataGraphPipelineResourceInfoImageLayoutARM* copy_src, PNextCopyState* copy_state = {});
VkDataGraphPipelineResourceInfoImageLayoutARM* ptr() {
return reinterpret_cast<VkDataGraphPipelineResourceInfoImageLayoutARM*>(this);
}
VkDataGraphPipelineResourceInfoImageLayoutARM const* ptr() const {
return reinterpret_cast<VkDataGraphPipelineResourceInfoImageLayoutARM const*>(this);
}
};
struct safe_VkDataGraphPipelineSingleNodeConnectionARM {
VkStructureType sType;
void* pNext{};
uint32_t set;
uint32_t binding;
VkDataGraphPipelineNodeConnectionTypeARM connection;

safe_VkDataGraphPipelineSingleNodeConnectionARM(const VkDataGraphPipelineSingleNodeConnectionARM* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkDataGraphPipelineSingleNodeConnectionARM(const safe_VkDataGraphPipelineSingleNodeConnectionARM& copy_src);
safe_VkDataGraphPipelineSingleNodeConnectionARM& operator=(const safe_VkDataGraphPipelineSingleNodeConnectionARM& copy_src);
safe_VkDataGraphPipelineSingleNodeConnectionARM();
~safe_VkDataGraphPipelineSingleNodeConnectionARM();
void initialize(const VkDataGraphPipelineSingleNodeConnectionARM* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkDataGraphPipelineSingleNodeConnectionARM* copy_src, PNextCopyState* copy_state = {});
VkDataGraphPipelineSingleNodeConnectionARM* ptr() {
return reinterpret_cast<VkDataGraphPipelineSingleNodeConnectionARM*>(this);
}
VkDataGraphPipelineSingleNodeConnectionARM const* ptr() const {
return reinterpret_cast<VkDataGraphPipelineSingleNodeConnectionARM const*>(this);
}
};
struct safe_VkDataGraphPipelineSingleNodeCreateInfoARM {
VkStructureType sType;
void* pNext{};
VkDataGraphPipelineNodeTypeARM nodeType;
uint32_t connectionCount;
safe_VkDataGraphPipelineSingleNodeConnectionARM* pConnections{};

safe_VkDataGraphPipelineSingleNodeCreateInfoARM(const VkDataGraphPipelineSingleNodeCreateInfoARM* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkDataGraphPipelineSingleNodeCreateInfoARM(const safe_VkDataGraphPipelineSingleNodeCreateInfoARM& copy_src);
safe_VkDataGraphPipelineSingleNodeCreateInfoARM& operator=(const safe_VkDataGraphPipelineSingleNodeCreateInfoARM& copy_src);
safe_VkDataGraphPipelineSingleNodeCreateInfoARM();
~safe_VkDataGraphPipelineSingleNodeCreateInfoARM();
void initialize(const VkDataGraphPipelineSingleNodeCreateInfoARM* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkDataGraphPipelineSingleNodeCreateInfoARM* copy_src, PNextCopyState* copy_state = {});
VkDataGraphPipelineSingleNodeCreateInfoARM* ptr() {
return reinterpret_cast<VkDataGraphPipelineSingleNodeCreateInfoARM*>(this);
}
VkDataGraphPipelineSingleNodeCreateInfoARM const* ptr() const {
return reinterpret_cast<VkDataGraphPipelineSingleNodeCreateInfoARM const*>(this);
}
};
struct safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT {
VkStructureType sType;
void* pNext{};
Expand Down
9 changes: 9 additions & 0 deletions include/vulkan/utility/vk_struct_helper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1249,6 +1249,15 @@ template <> inline VkStructureType GetSType<VkBeginCustomResolveInfoEXT>() { ret
template <> inline VkStructureType GetSType<VkCustomResolveCreateInfoEXT>() { return VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT; }
template <> inline VkStructureType GetSType<VkDataGraphPipelineBuiltinModelCreateInfoQCOM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM; }
template <> inline VkStructureType GetSType<VkPhysicalDeviceDataGraphModelFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM; }
template <> inline VkStructureType GetSType<VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM; }
template <> inline VkStructureType GetSType<VkQueueFamilyDataGraphOpticalFlowPropertiesARM>() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM; }
template <> inline VkStructureType GetSType<VkDataGraphPipelineOpticalFlowCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM; }
template <> inline VkStructureType GetSType<VkDataGraphOpticalFlowImageFormatPropertiesARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM; }
template <> inline VkStructureType GetSType<VkDataGraphOpticalFlowImageFormatInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM; }
template <> inline VkStructureType GetSType<VkDataGraphPipelineOpticalFlowDispatchInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM; }
template <> inline VkStructureType GetSType<VkDataGraphPipelineResourceInfoImageLayoutARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM; }
template <> inline VkStructureType GetSType<VkDataGraphPipelineSingleNodeConnectionARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM; }
template <> inline VkStructureType GetSType<VkDataGraphPipelineSingleNodeCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM; }
template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderLongVectorFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT; }
template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderLongVectorPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT; }
template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC; }
Expand Down
Loading
Loading