mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-01-19 05:41:17 +00:00
patch sdl3 shaders, got something on screen!
This commit is contained in:
parent
cb4fcc55ba
commit
3f8b36b323
@ -75,20 +75,7 @@ if(VITA)
|
|||||||
include(FetchContent)
|
include(FetchContent)
|
||||||
|
|
||||||
include(cmake/modules/pvr_psp2.cmake)
|
include(cmake/modules/pvr_psp2.cmake)
|
||||||
|
include(cmake/modules/sdl3_pvr_psp2.cmake)
|
||||||
FetchContent_Declare(
|
|
||||||
SDL3
|
|
||||||
GIT_REPOSITORY "https://github.com/libsdl-org/SDL.git"
|
|
||||||
GIT_TAG "main"
|
|
||||||
EXCLUDE_FROM_ALL
|
|
||||||
)
|
|
||||||
block()
|
|
||||||
set(VIDEO_VITA_PVR ON)
|
|
||||||
get_target_property(PVR_INCLUDES GLESv2 INTERFACE_INCLUDE_DIRECTORIES)
|
|
||||||
list(APPEND CMAKE_REQUIRED_INCLUDES ${PVR_INCLUDES})
|
|
||||||
FetchContent_MakeAvailable(SDL3)
|
|
||||||
target_include_directories(SDL3-static PRIVATE ${PVR_INCLUDES})
|
|
||||||
endblock()
|
|
||||||
|
|
||||||
fetch_iniparser()
|
fetch_iniparser()
|
||||||
|
|
||||||
|
|||||||
33
cmake/modules/sdl3_pvr_psp2.cmake
Normal file
33
cmake/modules/sdl3_pvr_psp2.cmake
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.21)
|
||||||
|
|
||||||
|
include(FetchContent)
|
||||||
|
|
||||||
|
set(SDL3_PATCH_FILE "${CMAKE_CURRENT_LIST_DIR}/sdl3_vita_shaders_fix.patch")
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
SDL3
|
||||||
|
GIT_REPOSITORY "https://github.com/libsdl-org/SDL.git"
|
||||||
|
GIT_TAG "main"
|
||||||
|
EXCLUDE_FROM_ALL
|
||||||
|
)
|
||||||
|
|
||||||
|
FetchContent_GetProperties(SDL3)
|
||||||
|
|
||||||
|
if(NOT SDL3_POPULATED)
|
||||||
|
FetchContent_Populate(SDL3)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git apply --verbose "${SDL3_PATCH_FILE}"
|
||||||
|
WORKING_DIRECTORY "${sdl3_SOURCE_DIR}"
|
||||||
|
RESULT_VARIABLE APPLY_RESULT
|
||||||
|
)
|
||||||
|
if(NOT APPLY_RESULT EQUAL 0)
|
||||||
|
message(FATAL_ERROR "Failed to apply patch to SDL3")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
block()
|
||||||
|
set(VIDEO_VITA_PVR ON)
|
||||||
|
get_target_property(PVR_INCLUDES GLESv2 INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
|
list(APPEND CMAKE_REQUIRED_INCLUDES ${PVR_INCLUDES})
|
||||||
|
add_subdirectory(${sdl3_SOURCE_DIR} ${sdl3_BINARY_DIR})
|
||||||
|
endblock()
|
||||||
46
cmake/modules/sdl3_vita_shaders_fix.patch
Normal file
46
cmake/modules/sdl3_vita_shaders_fix.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
--- sdl3-src/src/render/opengles2/SDL_shaders_gles2.c 2025-06-22 13:18:27.905488716 +0200
|
||||||
|
+++ "sdl3-src/src/render/opengles2/SDL_shaders_gles2.c" 2025-06-22 13:18:21.377485749 +0200
|
||||||
|
@@ -130,9 +130,7 @@
|
||||||
|
"void main()\n"
|
||||||
|
"{\n"
|
||||||
|
" mediump vec4 color = texture2D(u_texture, v_texCoord);\n"
|
||||||
|
-" gl_FragColor = color;\n"
|
||||||
|
-" gl_FragColor.r = color.b;\n"
|
||||||
|
-" gl_FragColor.b = color.r;\n"
|
||||||
|
+" gl_FragColor.rgba = color.bgra;\n"
|
||||||
|
" gl_FragColor *= v_color;\n"
|
||||||
|
"}\n"
|
||||||
|
;
|
||||||
|
@@ -144,9 +142,7 @@
|
||||||
|
"void main()\n"
|
||||||
|
"{\n"
|
||||||
|
" mediump vec4 color = texture2D(u_texture, v_texCoord);\n"
|
||||||
|
-" gl_FragColor = color;\n"
|
||||||
|
-" gl_FragColor.r = color.b;\n"
|
||||||
|
-" gl_FragColor.b = color.r;\n"
|
||||||
|
+" gl_FragColor.rgb = color.bgr;\n"
|
||||||
|
" gl_FragColor.a = 1.0;\n"
|
||||||
|
" gl_FragColor *= v_color;\n"
|
||||||
|
"}\n"
|
||||||
|
@@ -183,9 +179,7 @@
|
||||||
|
"void main()\n"
|
||||||
|
"{\n"
|
||||||
|
RGB_PIXELART_GETCOLOR
|
||||||
|
-" gl_FragColor = color;\n"
|
||||||
|
-" gl_FragColor.r = color.b;\n"
|
||||||
|
-" gl_FragColor.b = color.r;\n"
|
||||||
|
+" gl_FragColor.rgba = color.bgra;\n"
|
||||||
|
" gl_FragColor *= v_color;\n"
|
||||||
|
"}\n"
|
||||||
|
;
|
||||||
|
@@ -197,9 +191,7 @@
|
||||||
|
"void main()\n"
|
||||||
|
"{\n"
|
||||||
|
RGB_PIXELART_GETCOLOR
|
||||||
|
-" gl_FragColor = color;\n"
|
||||||
|
-" gl_FragColor.r = color.b;\n"
|
||||||
|
-" gl_FragColor.b = color.r;\n"
|
||||||
|
+" gl_FragColor.rgb = color.bgr;\n"
|
||||||
|
" gl_FragColor.a = 1.0;\n"
|
||||||
|
" gl_FragColor *= v_color;\n"
|
||||||
|
"}\n"
|
||||||
@ -296,9 +296,11 @@ HRESULT DirectDrawImpl::SetCooperativeLevel(HWND hWnd, DDSCLFlags dwFlags)
|
|||||||
return DDERR_INVALIDPARAMS;
|
return DDERR_INVALIDPARAMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* sdlRendererName = nullptr;
|
|
||||||
#ifdef __vita__
|
#ifdef __vita__
|
||||||
sdlRendererName = "opengles2";
|
const char* sdlRendererName = "opengles2";
|
||||||
|
#else
|
||||||
|
const char* sdlRendererName = nullptr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!SDL_SetWindowFullscreen(sdlWindow, fullscreen)) {
|
if (!SDL_SetWindowFullscreen(sdlWindow, fullscreen)) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user