Closed xchimp closed 6 years ago
What is reicast OIT?
You should open the issue to the dedicated repository.
About Reicast OIT.
My mistake, sorry for the confusion.
Looks like this is an independent effort by @flyinghead. Are there any plans to post a PR upstream for these changes?
@skmp I don't have any problem with backporting these changes upstream. But keep in mind that this renderer is still experimental: requires OpenGL 4.3 and desktop-class GPU and CPU, limited compatibility (pretty much NVidia only for now), etc. Given the current focus on mobile devices and low-end hardware I'm not sure what can be backported right now. I started this work as a personal experiment that wasn't meant to be published or used by anyone but me. And then things got out of control ;)
It doesn't have to be fully working, or working on all platforms. Reicast has a ton of platform specific and testing code already.
In fact, I prefer it if experimental features are worked in the mainline tree, and merged to master as soon as possible. Over years I've found this to be the only strategy where code doesn't get lost in some forgotten place in someone's hard drive.
I understand. Well, at least my code is on github and won't get lost. This is the per-pixel sorting branch, aka OIT: https://github.com/flyinghead/reicast-emulator/tree/fh/deferred-shading
It would be good if it wouldn't be only a compile time flag but should be configurable. Per command line parameter as a first step fir example and when a VUI is added later on one couls choose between renderers.
Any information not included may be requested when diagnosing the issue
Description of the Issue
When launching any game using the Reicast OIT libretro core, RetroArch loads the game to a black screen for a second, then crashes to the desktop.
Debugging Steps Tested
Logs Gathered
retroarch-log.txt
[INFO] RetroArch 1.7.3 (Git e786afe481) [INFO] === Build ======================================= [INFO] Version: 1.7.3 [INFO] Git: e786afe481 [INFO] ================================================= [INFO] Environ SET_PIXEL_FORMAT: RGB565. [INFO] Redirecting save file to "C:\Users\Jordan\AppData\Roaming\RetroArch\saves.srm". [INFO] Redirecting savestate to "C:\Users\Jordan\AppData\Roaming\RetroArch\states.state". [INFO] Version of libretro API: 1 [INFO] Compiled against API: 1 [INFO] [Audio]: Set audio input rate to: 29999.40 Hz. [INFO] [Video]: Video @ fullscreen [INFO] [GL]: Found GL context: wgl [INFO] [GL]: Detecting screen resolution 1920x1080.
[INFO] [GL]: Vendor: ATI Technologies Inc., Renderer: AMD Radeon (TM) R9 380 Series. [INFO] [GL]: Version: 4.5.13521 Compatibility Profile Context 24.20.11021.1000. [INFO] [GL]: Using resolution 1920x1080 [INFO] [GL]: Default shader backend found: glsl. [INFO] [Shader driver]: Using Cg shader backend. [INFO] [CG]: Vertex profile: arbvp1 [INFO] [CG]: Fragment profile: arbfp1 [INFO] [CG]: Loading Cg meta-shader: C:\Users\Jordan\AppData\Roaming\RetroArch\shaders\retroarch.cgp [ERROR] Failed to load preset. [INFO] [CG]: Destroying programs. [ERROR] [GL]: Failed to initialize shader, falling back to stock. [INFO] [Shader driver]: Using Cg shader backend. [INFO] [CG]: Vertex profile: arbvp1 [INFO] [CG]: Fragment profile: arbfp1 [INFO] [CG]: Loading stock Cg file. [INFO] Setting up menu pipeline shaders for XMB ... [INFO] [CG]: Found semantic "POSITION" in prog #24. [INFO] [CG]: Found semantic "COLOR" in prog #24. [INFO] [CG]: Found semantic "TEXCOORD0" in prog #24. [INFO] [CG]: Found semantic "POSITION" in prog #23. [INFO] [CG]: Found semantic "COLOR" in prog #23. [INFO] [CG]: Found semantic "TEXCOORD0" in prog #23. [INFO] [CG]: Found semantic "POSITION" in prog #22. [INFO] [CG]: Found semantic "COLOR" in prog #22. [INFO] [CG]: Found semantic "TEXCOORD0" in prog #22. [INFO] Resetting shader to defaults ... [INFO] [GL]: Using 4 textures. [INFO] [GL]: Loaded 1 program(s). [INFO] [XInput]: Found XInput v1.4. [INFO] [XInput]: Found XInput v1.4. [INFO] [DINPUT]: Enumerating joypads ... [INFO] [DINPUT]: Device #0 PID: {05C4} VID:{054C} [INFO] [Autoconf]: 106 profiles found. [INFO] [DINPUT]: Done enumerating joypads ... [INFO] [Joypad]: Found joypad driver: "dinput". [INFO] [Font]: Using font rendering backend: freetype. [INFO] [Video]: Found display server: win32 [INFO] XAudio2: Requesting 64 ms latency, using 64 ms latency. [INFO] [autoconf]: selected configuration: C:\Users\Jordan\AppData\Roaming\RetroArch\autoconfig\xinput\DUALSHOCK_4.cfg [INFO] [Menu]: Found menu display driver: "menu_display_gl". [INFO] [Font]: Using font rendering backend: freetype. [INFO] [Font]: Using font rendering backend: freetype. [INFO] [LED]: LED driver = 'null' 00000000009280E0 [INFO] [MIDI]: Initializing ... [INFO] [MIDI]: Input disabled. [INFO] [MIDI]: Output disabled. [INFO] [MIDI]: Initialized "winmm" driver. [INFO] SRAM will not be saved. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_history.lpl]. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_favorites.lpl]. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_music_history.lpl]. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_video_history.lpl]. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_image_history.lpl]. [INFO] [GL]: VSync => on
[INFO] [GL]: VSync => on
[INFO] Updating firmware status for: C:\Users\Jordan\AppData\Roaming\RetroArch\cores\reicast_oit_libretro.dll on C:\Users\Jordan\AppData\Roaming\RetroArch\system [WARN] Firmware missing: dc/naomi_boot.bin [INFO] Using content: E:\Games\Emulation Games\DC\Alone in the Dark - The New Nightmare (USA)\Alone in the Dark - The New Nightmare (USA) (Disc 1).gdi. [INFO] arg #0: retroarch [INFO] arg #1: E:\Games\Emulation Games\DC\Alone in the Dark - The New Nightmare (USA)\Alone in the Dark - The New Nightmare (USA) (Disc 1).gdi [INFO] arg #2: -s [INFO] arg #3: C:\Users\Jordan\AppData\Roaming\RetroArch\saves [INFO] arg #4: -S [INFO] arg #5: C:\Users\Jordan\AppData\Roaming\RetroArch\states [INFO] arg #6: -c [INFO] arg #7: C:\Users\Jordan\AppData\Roaming\RetroArch\retroarch.cfg [INFO] arg #8: -L [INFO] arg #9: C:\Users\Jordan\AppData\Roaming\RetroArch\cores\reicast_oit_libretro.dll [INFO] [CG]: Destroying programs. [INFO] [CG]: Destroying context. [INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames. [INFO] Set config file to : C:\Users\Jordan\AppData\Roaming\RetroArch\retroarch.cfg [INFO] RetroArch 1.7.3 (Git e786afe481) [INFO] Redirecting save file to "C:\Users\Jordan\AppData\Roaming\RetroArch\saves\Alone in the Dark - The New Nightmare (USA) (Disc 1).srm". [INFO] Redirecting savestate to "C:\Users\Jordan\AppData\Roaming\RetroArch\states\Alone in the Dark - The New Nightmare (USA) (Disc 1).state". [INFO] === Build ======================================= [INFO] Version: 1.7.3 [INFO] Git: e786afe481 [INFO] ================================================= [INFO] Loading dynamic libretro core from: "C:\Users\Jordan\AppData\Roaming\RetroArch\cores\reicast_oit_libretro.dll" [INFO] [overrides] no core-specific overrides found at C:\Users\Jordan\AppData\Roaming\RetroArch\config\Reicast OIT\Reicast OIT.cfg. [INFO] [overrides] no content-dir-specific overrides found at C:\Users\Jordan\AppData\Roaming\RetroArch\config\Reicast OIT\Alone in the Dark - The New Nightmare (USA).cfg. [INFO] [overrides] no game-specific overrides found at C:\Users\Jordan\AppData\Roaming\RetroArch\config\Reicast OIT\Alone in the Dark - The New Nightmare (USA) (Disc 1).cfg. [INFO] Shaders: preset directory: C:\Users\Jordan\AppData\Roaming\RetroArch\shaders\presets [INFO] Shaders: no game-specific preset found at C:\Users\Jordan\AppData\Roaming\RetroArch\shaders\presets\Reicast OIT\Alone in the Dark - The New Nightmare (USA) (Disc 1).cgp. [INFO] Shaders: no game-specific preset found at C:\Users\Jordan\AppData\Roaming\RetroArch\shaders\presets\Reicast OIT\Alone in the Dark - The New Nightmare (USA) (Disc 1).glslp. [INFO] Shaders: no content-dir-specific preset found at C:\Users\Jordan\AppData\Roaming\RetroArch\shaders\presets\Reicast OIT\Alone in the Dark - The New Nightmare (USA).cgp. [INFO] Shaders: no content-dir-specific preset found at C:\Users\Jordan\AppData\Roaming\RetroArch\shaders\presets\Reicast OIT\Alone in the Dark - The New Nightmare (USA).glslp. [INFO] Shaders: no core-specific preset found at C:\Users\Jordan\AppData\Roaming\RetroArch\shaders\presets\Reicast OIT\Reicast OIT.cgp. [INFO] Shaders: no core-specific preset found at C:\Users\Jordan\AppData\Roaming\RetroArch\shaders\presets\Reicast OIT\Reicast OIT.glslp. [INFO] Environ SET_VARIABLES. [INFO] Remaps: remap directory: C:\Users\Jordan\AppData\Roaming\RetroArch\config\remaps [INFO] Remaps: no game-specific remap found at C:\Users\Jordan\AppData\Roaming\RetroArch\config\remaps\Reicast OIT\Alone in the Dark - The New Nightmare (USA) (Disc 1).rmp. [INFO] Remaps: no content-dir-specific remap found at C:\Users\Jordan\AppData\Roaming\RetroArch\config\remaps\Reicast OIT\Alone in the Dark - The New Nightmare (USA).rmp. [INFO] Remaps: no core-specific remap found at C:\Users\Jordan\AppData\Roaming\RetroArch\config\remaps\Reicast OIT\Reicast OIT.rmp. [INFO] Redirecting save file to "C:\Users\Jordan\AppData\Roaming\RetroArch\saves\Alone in the Dark - The New Nightmare (USA) (Disc 1).srm". [INFO] Redirecting savestate to "C:\Users\Jordan\AppData\Roaming\RetroArch\states\Alone in the Dark - The New Nightmare (USA) (Disc 1).state". [INFO] Environ GET_LOG_INTERFACE. [INFO] Environ GET_PERF_INTERFACE. [INFO] Environ SET_PIXEL_FORMAT: XRGB8888. [INFO] Content loading skipped. Implementation will load it on its own. [INFO] Environ SET_INPUT_DESCRIPTORS: [INFO] RetroPad, User 1, Button "B (bottom)" => "A" [INFO] RetroPad, User 1, Button "Y (left)" => "X" [INFO] RetroPad, User 1, Button "Start" => "Start" [INFO] RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up" [INFO] RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down" [INFO] RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left" [INFO] RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right" [INFO] RetroPad, User 1, Button "A (right)" => "B" [INFO] RetroPad, User 1, Button "X (up)" => "Y" [INFO] RetroPad, User 1, Button "L2" => "L Trigger" [INFO] RetroPad, User 1, Button "R2" => "R Trigger" [INFO] Environ GET_RUMBLE_INTERFACE. [libretro INFO] Rumble interface supported! [INFO] Environ SYSTEM_DIRECTORY: "C:\Users\Jordan\AppData\Roaming\RetroArch\system". [INFO] Environ GET_VARIABLE reicast_internal_resolution: [INFO] 640x480 [INFO] Environ GET_VARIABLE reicast_cpu_mode: [INFO] dynamic_recompiler [INFO] Environ GET_VARIABLE reicast_boot_to_bios: [INFO] disabled [INFO] Environ GET_VARIABLE reicast_gdrom_fast_loading: [INFO] disabled [INFO] Environ GET_VARIABLE reicast_mipmapping: [INFO] enabled [INFO] Environ GET_VARIABLE reicast_system: [INFO] auto [INFO] Environ GET_VARIABLE reicast_oit_abuffer_size: [INFO] 512MB [INFO] Environ GET_VARIABLE reicast_volume_modifier_enable: [INFO] enabled [INFO] Environ GET_VARIABLE reicast_widescreen_hack: [INFO] disabled [INFO] Environ GET_VARIABLE reicast_audio_buffer_size: [INFO] 2048 [INFO] Environ GET_VARIABLE reicast_cable_type: [INFO] VGA (RGB) [INFO] Environ GET_VARIABLE reicast_broadcast: [INFO] PAL_M [INFO] Environ GET_VARIABLE reicast_framerate: [INFO] fullspeed [INFO] Environ GET_VARIABLE reicast_region: [INFO] Default [INFO] Environ GET_VARIABLE reicast_precompile_shaders: [INFO] disabled [INFO] Environ GET_VARIABLE reicast_enable_rtt: [INFO] enabled [INFO] Environ GET_VARIABLE reicast_enable_rttb: [INFO] enabled [INFO] Environ GET_VARIABLE reicast_enable_purupuru: [INFO] enabled [INFO] Environ GET_VARIABLE reicast_analog_stick_deadzone: [INFO] 15% [INFO] Environ GET_VARIABLE reicast_trigger_deadzone: [INFO] 0% [INFO] Environ GET_VARIABLE reicast_digital_triggers: [INFO] disabled [libretro INFO] File extension is: .gdi [INFO] Environ SET_HW_RENDER. [INFO] Requesting OpenGL context. [INFO] Skipping SRAM load.. [INFO] Version of libretro API: 1 [INFO] Compiled against API: 1 [INFO] [Audio]: Set audio input rate to: 44099.12 Hz. [INFO] [Video]: Video @ fullscreen [INFO] [Video]: Using HW render, OpenGL driver forced. [INFO] [GL]: Found GL context: wgl [INFO] [GL]: Detecting screen resolution 1920x1080.
[INFO] [GL]: Vendor: ATI Technologies Inc., Renderer: AMD Radeon (TM) R9 380 Series. [INFO] [GL]: Version: 4.5.13521 Compatibility Profile Context 24.20.11021.1000. [INFO] [GL]: Using resolution 1920x1080 [INFO] [GL]: Default shader backend found: glsl. [INFO] [Shader driver]: Using Cg shader backend. [INFO] [CG]: Vertex profile: arbvp1 [INFO] [CG]: Fragment profile: arbfp1 [INFO] [CG]: Loading Cg meta-shader: C:\Users\Jordan\AppData\Roaming\RetroArch\shaders\retroarch.cgp [ERROR] Failed to load preset. [INFO] [CG]: Destroying programs. [ERROR] [GL]: Failed to initialize shader, falling back to stock. [INFO] [Shader driver]: Using Cg shader backend. [INFO] [CG]: Vertex profile: arbvp1 [INFO] [CG]: Fragment profile: arbfp1 [INFO] [CG]: Loading stock Cg file. [INFO] Setting up menu pipeline shaders for XMB ... [INFO] [CG]: Found semantic "POSITION" in prog #24. [INFO] [CG]: Found semantic "COLOR" in prog #24. [INFO] [CG]: Found semantic "TEXCOORD0" in prog #24. [INFO] [CG]: Found semantic "POSITION" in prog #23. [INFO] [CG]: Found semantic "COLOR" in prog #23. [INFO] [CG]: Found semantic "TEXCOORD0" in prog #23. [INFO] [CG]: Found semantic "POSITION" in prog #22. [INFO] [CG]: Found semantic "COLOR" in prog #22. [INFO] [CG]: Found semantic "TEXCOORD0" in prog #22. [INFO] Resetting shader to defaults ... [INFO] [GL]: Using 1 textures. [INFO] [GL]: Loaded 1 program(s). [INFO] [GL]: Initializing HW render (1024 x 1024). [INFO] [GL]: Max texture size: 16384 px, renderbuffer size: 16384 px. [INFO] [GL]: Supports FBO (render-to-texture). [INFO] [XInput]: Found XInput v1.4. [INFO] [XInput]: Found XInput v1.4. [INFO] [DINPUT]: Enumerating joypads ... [INFO] [DINPUT]: Device #0 PID: {05C4} VID:{054C} [INFO] [Autoconf]: 106 profiles found. [INFO] [DINPUT]: Done enumerating joypads ... [INFO] [Joypad]: Found joypad driver: "dinput". [INFO] [Font]: Using font rendering backend: freetype. [INFO] [Video]: Found display server: win32 [INFO] XAudio2: Requesting 64 ms latency, using 64 ms latency. [INFO] [autoconf]: selected configuration: C:\Users\Jordan\AppData\Roaming\RetroArch\autoconfig\xinput\DUALSHOCK_4.cfg [INFO] [Font]: Using font rendering backend: freetype. [INFO] [Font]: Using font rendering backend: freetype. [INFO] [LED]: LED driver = 'null' 00000000009280E0 [INFO] [MIDI]: Initializing ... [INFO] [MIDI]: Input disabled. [INFO] [MIDI]: Output disabled. [INFO] [MIDI]: Initialized "winmm" driver. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_history.lpl]. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_favorites.lpl]. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_music_history.lpl]. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_video_history.lpl]. [INFO] Loading history file: [C:\Users\Jordan\AppData\Roaming\RetroArch\content_image_history.lpl]. [INFO] [GL]: VSync => on
[INFO] Written to playlist file: C:\Users\Jordan\AppData\Roaming\RetroArch\content_history.lpl [libretro INFO] Using Recompiler [libretro INFO] [LUT]: Product number: T15117N . [libretro INFO] Fatal error : shader compile fail
in gl_CompileAndLink -> core/rend/gl4/gles.cpp : 507
Screenshots