diff --git a/CMakeLists.txt b/CMakeLists.txt index 6133950ebe..f40062aa36 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1516,7 +1516,9 @@ elseif(OHOS) set(SDL_VULKAN ON) set(HAVE_VULKAN ON) set(SDL_VIDEO_VULKAN ON) + set(SDL_VIDEO_RENDER_VULKAN 1) set(HAVE_RENDER_VULKAN TRUE) + add_definitions(-DVK_USE_PLATFORM_OHOS=1) if(SDL_OPENGLES) set(SDL_VIDEO_OPENGL_EGL 1) diff --git a/src/core/ohos/SDL_ohos.c b/src/core/ohos/SDL_ohos.c index 528e9b762e..4b1f272bd9 100644 --- a/src/core/ohos/SDL_ohos.c +++ b/src/core/ohos/SDL_ohos.c @@ -1,4 +1,5 @@ #include "SDL_internal.h" +#include "dynapi/SDL_dynapi_overrides.h" #include #include #include @@ -140,31 +141,6 @@ int OHOS_FetchHeight() return hei; } -static napi_value minus(napi_env env, napi_callback_info info) -{ - size_t argc = 2; - napi_value args[2] = { NULL }; - - napi_get_cb_info(env, info, &argc, args, NULL, NULL); - - napi_valuetype valuetype0; - napi_typeof(env, args[0], &valuetype0); - - napi_valuetype valuetype1; - napi_typeof(env, args[1], &valuetype1); - - double value0; - napi_get_value_double(env, args[0], &value0); - - double value1; - napi_get_value_double(env, args[1], &value1); - - napi_value sum; - napi_create_double(env, value0 - value1, &sum); - - return sum; -} - static void sdlJSCallback(napi_env env, napi_value jsCb, void *content, void *data) { napiCallbackData *ar = (napiCallbackData *)data; @@ -248,9 +224,9 @@ static napi_value sdlCallbackInit(napi_env env, napi_callback_info info) data->func = "test"; data->argCount = 0; - napi_call_threadsafe_function(napiEnv.func, data, napi_tsfn_nonblocking); + napi_call_threadsafe_function(napiEnv.func, data, napi_tsfn_blocking); - SDL_free(data); + // SDL_free(data); napi_value result; napi_create_int32(env, 0, &result); @@ -286,6 +262,7 @@ static napi_value sdlLaunchMain(napi_env env, napi_callback_info info) static void OnSurfaceCreatedCB(OH_NativeXComponent *component, void *window) { + SDL_Log("Native window: %p", window); g_ohosNativeWindow = (OHNativeWindow *)window; uint64_t width; @@ -408,7 +385,6 @@ static void onNativeMouse(OH_NativeXComponent *component, void *window) {} static napi_value SDL_OHOS_NAPI_Init(napi_env env, napi_value exports) { napi_property_descriptor desc[] = { - { "minus", NULL, minus, NULL, NULL, NULL, napi_default, NULL }, { "sdlCallbackInit", NULL, sdlCallbackInit, NULL, NULL, NULL, napi_default, NULL }, { "sdlLaunchMain", NULL, sdlLaunchMain, NULL, NULL, NULL, napi_default, NULL } }; diff --git a/src/video/ohos/SDL_ohosvideo.c b/src/video/ohos/SDL_ohosvideo.c index f5e721e38a..69e2aac22a 100644 --- a/src/video/ohos/SDL_ohosvideo.c +++ b/src/video/ohos/SDL_ohosvideo.c @@ -16,9 +16,7 @@ bool OHOS_VideoInit(SDL_VideoDevice *_this) mode.h = OHOS_FetchHeight(); mode.refresh_rate = 60; - SDL_DisplayID displayID = SDL_AddBasicVideoDisplay(&mode); - SDL_Log("testvid: %u", displayID); - SDL_Log("testvid: %u", _this->displays[0]->id); + SDL_AddBasicVideoDisplay(&mode); return true; } void OHOS_VideoQuit(SDL_VideoDevice *_this)