mirror of
https://github.com/libsdl-org/SDL.git
synced 2024-11-23 19:03:27 +08:00
Allow building testffmpeg without Vulkan support
This commit is contained in:
parent
16e0806ced
commit
fcb132b8e8
@ -229,8 +229,11 @@ if(FFmpeg_FOUND)
|
||||
check_struct_has_member("AVVulkanFramesContext" "format" "libavutil/hwcontext_vulkan.h" LIBAVUTIL_AVFULKANFRAMESCONTEXT_HAS_FORMAT)
|
||||
cmake_pop_check_state()
|
||||
endif()
|
||||
if(FFmpeg_FOUND AND LIBAVUTIL_AVFRAME_HAS_CH_LAYOUT AND LIBAVUTIL_AVFULKANFRAMESCONTEXT_HAS_FORMAT)
|
||||
if(FFmpeg_FOUND AND LIBAVUTIL_AVFRAME_HAS_CH_LAYOUT)
|
||||
add_sdl_test_executable(testffmpeg NO_C90 SOURCES testffmpeg.c testffmpeg_vulkan.c ${icon_bmp_header})
|
||||
if(LIBAVUTIL_AVFULKANFRAMESCONTEXT_HAS_FORMAT)
|
||||
target_compile_definitions(testffmpeg PRIVATE FFMPEG_VULKAN_SUPPORT)
|
||||
endif()
|
||||
if(APPLE)
|
||||
target_link_options(testffmpeg PRIVATE "-Wl,-framework,CoreVideo")
|
||||
endif()
|
||||
|
@ -12,11 +12,13 @@
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3/SDL_vulkan.h>
|
||||
|
||||
#include "testffmpeg_vulkan.h"
|
||||
|
||||
#ifdef FFMPEG_VULKAN_SUPPORT
|
||||
|
||||
#include <libavutil/hwcontext.h>
|
||||
#include <libavutil/hwcontext_vulkan.h>
|
||||
|
||||
#include "testffmpeg_vulkan.h"
|
||||
|
||||
#define VULKAN_FUNCTIONS() \
|
||||
VULKAN_GLOBAL_FUNCTION(vkCreateInstance) \
|
||||
VULKAN_GLOBAL_FUNCTION(vkEnumerateInstanceExtensionProperties) \
|
||||
@ -966,3 +968,40 @@ void DestroyVulkanVideoContext(VulkanVideoContext *context)
|
||||
SDL_free(context);
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
VulkanVideoContext *CreateVulkanVideoContext(SDL_Window *window)
|
||||
{
|
||||
SDL_SetError("testffmpeg not built with Vulkan support");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void SetupVulkanRenderProperties(VulkanVideoContext *context, SDL_PropertiesID props)
|
||||
{
|
||||
}
|
||||
|
||||
void SetupVulkanDeviceContextData(VulkanVideoContext *context, AVVulkanDeviceContext *ctx)
|
||||
{
|
||||
}
|
||||
|
||||
SDL_Texture *CreateVulkanVideoTexture(VulkanVideoContext *context, AVFrame *frame, SDL_Renderer *renderer, SDL_PropertiesID props)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int BeginVulkanFrameRendering(VulkanVideoContext *context, AVFrame *frame, SDL_Renderer *renderer)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int FinishVulkanFrameRendering(VulkanVideoContext *context, AVFrame *frame, SDL_Renderer *renderer)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
void DestroyVulkanVideoContext(VulkanVideoContext *context)
|
||||
{
|
||||
}
|
||||
|
||||
#endif // FFMPEG_VULKAN_SUPPORT
|
||||
|
Loading…
Reference in New Issue
Block a user