aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/codec_query
diff options
context:
space:
mode:
Diffstat (limited to 'src/codec_query')
-rw-r--r--src/codec_query/vulkan.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/codec_query/vulkan.c b/src/codec_query/vulkan.c
index 6ab484f..7dcb44e 100644
--- a/src/codec_query/vulkan.c
+++ b/src/codec_query/vulkan.c
@@ -24,6 +24,7 @@ static const char *required_device_extensions[] = {
static int num_required_device_extensions = 8;
static void set_h264_max_resolution(PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR, VkPhysicalDevice physical_device, gsr_supported_video_codecs *video_codecs) {
+#ifdef VK_KHR_video_encode_h264
const VkVideoEncodeH264ProfileInfoKHR h264_profile = {
.sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR,
.pNext = NULL,
@@ -53,9 +54,15 @@ static void set_h264_max_resolution(PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR
video_codecs->h264.max_resolution.x = video_caps.maxCodedExtent.width;
video_codecs->h264.max_resolution.y = video_caps.maxCodedExtent.height;
}
+#else
+ (void)vkGetPhysicalDeviceVideoCapabilitiesKHR;
+ (void)physical_device;
+ (void)video_codecs;
+#endif
}
static void set_hevc_max_resolution(PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR, VkPhysicalDevice physical_device, gsr_supported_video_codecs *video_codecs) {
+#ifdef VK_KHR_video_encode_h265
const VkVideoEncodeH265ProfileInfoKHR hevc_profile = {
.sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR,
.pNext = NULL,
@@ -91,9 +98,15 @@ static void set_hevc_max_resolution(PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR
video_codecs->hevc_10bit.max_resolution.x = video_caps.maxCodedExtent.width;
video_codecs->hevc_10bit.max_resolution.y = video_caps.maxCodedExtent.height;
}
+#else
+ (void)vkGetPhysicalDeviceVideoCapabilitiesKHR;
+ (void)physical_device;
+ (void)video_codecs;
+#endif
}
static void set_av1_max_resolution(PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR, VkPhysicalDevice physical_device, gsr_supported_video_codecs *video_codecs) {
+#ifdef VK_KHR_video_encode_av1
const VkVideoEncodeAV1ProfileInfoKHR av1_profile = {
.sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR,
.pNext = NULL,
@@ -109,7 +122,7 @@ static void set_av1_max_resolution(PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR v
.chromaBitDepth = VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR
};
- VkVideoEncodeH265CapabilitiesKHR encode_caps = {
+ VkVideoEncodeAV1CapabilitiesKHR encode_caps = {
.sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR,
.pNext = NULL
};
@@ -129,6 +142,11 @@ static void set_av1_max_resolution(PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR v
video_codecs->av1_10bit.max_resolution.x = video_caps.maxCodedExtent.width;
video_codecs->av1_10bit.max_resolution.y = video_caps.maxCodedExtent.height;
}
+#else
+ (void)vkGetPhysicalDeviceVideoCapabilitiesKHR;
+ (void)physical_device;
+ (void)video_codecs;
+#endif
}
bool gsr_get_supported_video_codecs_vulkan(gsr_supported_video_codecs *video_codecs, const char *card_path, int *device_index_ret, bool cleanup) {