123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571
Reading symbols from ./retroarch...done.
(gdb) r
Starting program: /media/gittings/forks/RetroArch/retroarch
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff520f700 (LWP 4576)]
[New Thread 0x7fffef0fb700 (LWP 4577)]
[Detaching after vfork from child process 4578]
[New Thread 0x7fffedd31700 (LWP 4625)]
[Thread 0x7fffedd31700 (LWP 4625) exited]
[Thread 0x7fffef0fb700 (LWP 4577) exited]
[New Thread 0x7ffff520f700 (LWP 4635)]
[Thread 0x7ffff520f700 (LWP 4576) exited]
[New Thread 0x7fffef0fb700 (LWP 4636)]
[Detaching after vfork from child process 4637]
Connecting device 1 into port 0
Connecting device 1 into port 1
[New Thread 0x7fffedd31700 (LWP 4684)]
[New Thread 0x7ffff520f700 (LWP 4685)]
[Thread 0x7ffff520f700 (LWP 4635) exited]
[Thread 0x7fffedd31700 (LWP 4684) exited]
[Thread 0x7fffef0fb700 (LWP 4636) exited]
[Thread 0x7ffff520f700 (LWP 4685) exited]
[New Thread 0x7ffff520f700 (LWP 4694)]
[New Thread 0x7fffef0fb700 (LWP 4695)]
retroarch: deps/glslang/glslang/OGLCompilersDLL/InitializeDll.cpp:109: bool glslang::InitThread(): Assertion `0 && "InitThread(): Unable to set init flag."' failed.
Thread 1 "retroarch" received signal SIGABRT, Aborted.
0x00007ffff63eb20b in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff63eb20b in raise () from /lib64/libc.so.6
#1 0x00007ffff63cd524 in abort () from /lib64/libc.so.6
#2 0x00007ffff63cd40f in __assert_fail_base.cold.0 () from /lib64/libc.so.6
#3 0x00007ffff63dc4d2 in __assert_fail () from /lib64/libc.so.6
#4 0x0000000000781f18 in glslang::InitThread ()
at deps/glslang/glslang/OGLCompilersDLL/InitializeDll.cpp:109
#5 0x00000000007c92b1 in glslang::TShader::preprocess (this=0x7fffffffcdf0,
builtInResources=0xf78740 <glslang::compile_spirv(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, glslang::Stage, std::vector<unsigned int, std::allocator<unsigned int> >*)::process>,
defaultVersion=100, defaultProfile=ENoProfile,
forceDefaultVersionAndProfile=false, forwardCompatible=false,
message=(EShMsgSpvRules | EShMsgVulkanRules), output_string=0x7fffffffcdc0,
includer=...)
at deps/glslang/glslang/glslang/MachineIndependent/ShaderLang.cpp:1736
#6 0x0000000000709f6d in glslang::compile_spirv (
source="#version 450\n#extension GL_GOOGLE_cpp_style_line_directive : require\n#line 2 \"mame-ntsc.slang\"\n\n// This is a port of the NTSC encode/decode shader pair in MAME and MESS, modified to use only\n// one pa"...,
stage=glslang::StageVertex, spirv=0x7fffffffd090)
at deps/glslang/glslang.cpp:362
#7 0x0000000000702574 in glslang_compile_shader (
shader_path=0x2d58a10 "/home/orbea/.config/retroarch/shaders/shaders_slang/ntsc/shaders/mame-ntsc/mame-ntsc.slang", output=0x7fffffffd090)
at gfx/drivers_shader/glslang_util.cpp:395
#8 0x00000000006c35a3 in vulkan_filter_chain_create_from_preset (
info=0x7fffffffd230,
path=0x7ffff5230074 "/home/orbea/.config/retroarch/shaders/shaders_slang/ntsc/mame-ntsc.slangp", filter=VULKAN_FILTER_CHAIN_LINEAR)
at gfx/drivers_shader/shader_vulkan.cpp:2865
#9 0x00000000006aa4fa in vulkan_init_filter_chain_preset (vk=0x21dccd0,
shader_path=0x7ffff5230074 "/home/orbea/.config/retroarch/shaders/shaders_slang/ntsc/mame-ntsc.slangp") at gfx/drivers/vulkan.c:815
#10 0x00000000006aa5c5 in vulkan_init_filter_chain (vk=0x21dccd0)
at gfx/drivers/vulkan.c:847
#11 0x00000000006ab4cb in vulkan_init (video=0x7fffffffd380,
input=0xf09430 <current_input>, input_data=0xf09438 <current_input_data>)
at gfx/drivers/vulkan.c:1241
#12 0x00000000004801ac in video_driver_init_internal (
video_is_threaded=0x7fffffffd447) at gfx/video_driver.c:1063
#13 0x0000000000481511 in video_driver_init (video_is_threaded=0x7fffffffd447)
at gfx/video_driver.c:1758
#14 0x0000000000418072 in drivers_init (flags=1023) at retroarch.c:599
#15 0x000000000041a7b2 in retroarch_main_init (argc=8, argv=0x7fffffffd630)
at retroarch.c:2052
#16 0x000000000043780d in content_load (info=0x7fffffffd8e0)
at tasks/task_content.c:291
#17 0x0000000000438ab9 in task_load_content (content_info=0x7fffffffd8e0,
content_ctx=0x7fffffffd840, launched_from_menu=false,
launched_from_cli=false, error_string=0x7fffffffd838)
at tasks/task_content.c:982
#18 0x0000000000439282 in task_push_start_dummy_core (
content_info=0x7fffffffd8e0) at tasks/task_content.c:1260
#19 0x0000000000425ea5 in command_event (cmd=CMD_EVENT_UNLOAD_CORE, data=0x0)
at command.c:1949
#20 0x0000000000619047 in generic_action_ok_command (cmd=CMD_EVENT_UNLOAD_CORE)
at menu/cbs/menu_cbs_ok.c:1274
#21 0x000000000061edcc in action_ok_close_content (
path=0x7fffe4000d20 "Close Content", label=0x7fffe4000c30 "unload_core",
type=128, idx=2, entry_idx=0) at menu/cbs/menu_cbs_ok.c:3776
#22 0x0000000000615fbb in menu_entry_action (entry=0x7fffffffdcc0, i=2,
action=MENU_ACTION_OK) at menu/widgets/menu_entry.c:471
#23 0x000000000066469d in generic_menu_iterate (menu=0x1f40bc0,
userdata=0x1eb47d0, action=MENU_ACTION_OK) at menu/drivers/menu_generic.c:233
#24 0x00000000005f165d in menu_driver_iterate (iterate=0x7fffffffde80)
at menu/menu_driver.c:2049
#25 0x000000000041cf57 in runloop_check_state (settings=0x7ffff5210010,
input_nonblock_state=false, runloop_is_paused=false, fastforward_ratio=5,
sleep_ms=0x7fffffffe0f0) at retroarch.c:3634
#26 0x000000000041e550 in runloop_iterate (sleep_ms=0x7fffffffe0f0)
at retroarch.c:4412
#27 0x0000000000415e33 in rarch_main (argc=1, argv=0x7fffffffe208, data=0x0)
at frontend/frontend.c:156
#28 0x0000000000415e90 in main (argc=1, argv=0x7fffffffe208)
at frontend/frontend.c:184
(gdb) bt full
#0 0x00007ffff63eb20b in raise () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007ffff63cd524 in abort () from /lib64/libc.so.6
No symbol table info available.
#2 0x00007ffff63cd40f in __assert_fail_base.cold.0 () from /lib64/libc.so.6
No symbol table info available.
#3 0x00007ffff63dc4d2 in __assert_fail () from /lib64/libc.so.6
No symbol table info available.
#4 0x0000000000781f18 in glslang::InitThread ()
at deps/glslang/glslang/OGLCompilersDLL/InitializeDll.cpp:109
__PRETTY_FUNCTION__ = "bool glslang::InitThread()"
#5 0x00000000007c92b1 in glslang::TShader::preprocess (this=0x7fffffffcdf0,
builtInResources=0xf78740 <glslang::compile_spirv(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, glslang::Stage, std::vector<unsigned int, std::allocator<unsigned int> >*)::process>,
defaultVersion=100, defaultProfile=ENoProfile,
forceDefaultVersionAndProfile=false, forwardCompatible=false,
message=(EShMsgSpvRules | EShMsgVulkanRules), output_string=0x7fffffffcdc0,
includer=...)
at deps/glslang/glslang/glslang/MachineIndependent/ShaderLang.cpp:1736
No locals.
#6 0x0000000000709f6d in glslang::compile_spirv (
source="#version 450\n#extension GL_GOOGLE_cpp_style_line_directive : require\n#line 2 \"mame-ntsc.slang\"\n\n// This is a port of the NTSC encode/decode shader pair in MAME and MESS, modified to use only\n// one pa"...,
stage=glslang::StageVertex, spirv=0x7fffffffd090)
at deps/glslang/glslang.cpp:362
src = 0x2111790 "#version 450\n#extension GL_GOOGLE_cpp_style_line_directive : require\n#line 2 \"mame-ntsc.slang\"\n\n// This is a port of the NTSC encode/decode shader pair in MAME and MESS, modified to use only\n// one pa"...
messages = (EShMsgSpvRules | EShMsgVulkanRules)
msg = ""
forbid_include = {<glslang::TShader::Includer> = {
_vptr.Includer = 0xc932e0 <vtable for glslang::TShader::ForbidIncluder+16>}, <No data fields>}
process = {Resources = {maxLights = 32, maxClipPlanes = 6,
maxTextureUnits = 32, maxTextureCoords = 32, maxVertexAttribs = 64,
maxVertexUniformComponents = 4096, maxVaryingFloats = 64,
maxVertexTextureImageUnits = 32, maxCombinedTextureImageUnits = 80,
maxTextureImageUnits = 32, maxFragmentUniformComponents = 4096,
maxDrawBuffers = 32, maxVertexUniformVectors = 128,
maxVaryingVectors = 8, maxFragmentUniformVectors = 16,
maxVertexOutputVectors = 16, maxFragmentInputVectors = 15,
minProgramTexelOffset = -8, maxProgramTexelOffset = 7,
maxClipDistances = 8, maxComputeWorkGroupCountX = 65535,
maxComputeWorkGroupCountY = 65535,
maxComputeWorkGroupCountZ = 65535, maxComputeWorkGroupSizeX = 1024,
maxComputeWorkGroupSizeY = 1024, maxComputeWorkGroupSizeZ = 64,
maxComputeUniformComponents = 1024,
maxComputeTextureImageUnits = 16, maxComputeImageUniforms = 8,
maxComputeAtomicCounters = 8, maxComputeAtomicCounterBuffers = 1,
maxVaryingComponents = 60, maxVertexOutputComponents = 64,
maxGeometryInputComponents = 64, maxGeometryOutputComponents = 128,
maxFragmentInputComponents = 128, maxImageUnits = 8,
maxCombinedImageUnitsAndFragmentOutputs = 8,
maxCombinedShaderOutputResources = 8, maxImageSamples = 0,
maxVertexImageUniforms = 0, maxTessControlImageUniforms = 0,
maxTessEvaluationImageUniforms = 0, maxGeometryImageUniforms = 0,
maxFragmentImageUniforms = 8, maxCombinedImageUniforms = 8,
maxGeometryTextureImageUnits = 16, maxGeometryOutputVertices = 256,
maxGeometryTotalOutputComponents = 1024,
maxGeometryUniformComponents = 1024,
maxGeometryVaryingComponents = 64,
maxTessControlInputComponents = 128,
maxTessControlOutputComponents = 128,
maxTessControlTextureImageUnits = 16,
maxTessControlUniformComponents = 1024,
maxTessControlTotalOutputComponents = 4096,
maxTessEvaluationInputComponents = 128,
maxTessEvaluationOutputComponents = 128,
maxTessEvaluationTextureImageUnits = 16,
maxTessEvaluationUniformComponents = 1024,
maxTessPatchComponents = 120, maxPatchVertices = 32,
maxTessGenLevel = 64, maxViewports = 16,
maxVertexAtomicCounters = 0, maxTessControlAtomicCounters = 0,
maxTessEvaluationAtomicCounters = 0, maxGeometryAtomicCounters = 0,
maxFragmentAtomicCounters = 8, maxCombinedAtomicCounters = 8,
maxAtomicCounterBindings = 1, maxVertexAtomicCounterBuffers = 0,
maxTessControlAtomicCounterBuffers = 0,
maxTessEvaluationAtomicCounterBuffers = 0,
maxGeometryAtomicCounterBuffers = 0,
maxFragmentAtomicCounterBuffers = 1,
maxCombinedAtomicCounterBuffers = 1,
maxAtomicCounterBufferSize = 16384, maxTransformFeedbackBuffers = 4,
maxTransformFeedbackInterleavedComponents = 64,
maxCullDistances = 8, maxCombinedClipAndCullDistances = 8,
maxSamples = 4, limits = {nonInductiveForLoops = true,
whileLoops = true, doWhileLoops = true,
generalUniformIndexing = true,
generalAttributeMatrixVectorIndexing = true,
generalVaryingIndexing = true, generalSamplerIndexing = true,
generalVariableIndexing = true,
generalConstantMatrixVectorIndexing = true}}}
program = {_vptr.TProgram = 0xcb8c68 <vtable for glslang::TProgram+16>,
pool = 0x21128e0, stages = {empty std::__cxx11::list,
empty std::__cxx11::list, empty std::__cxx11::list,
empty std::__cxx11::list, empty std::__cxx11::list,
empty std::__cxx11::list}, intermediate = {0x0, 0x0, 0x0, 0x0, 0x0,
0x0}, newedIntermediate = {false, false, false, false, false,
false}, infoSink = 0x2159bd0, reflection = 0x0, ioMapper = 0x0,
linked = false}
language = EShLangVertex
shader = {_vptr.TShader = 0xcb8c88 <vtable for glslang::TShader+16>,
pool = 0x2112950, stage = EShLangVertex, compiler = 0x1f76710,
intermediate = 0x1f76740, infoSink = 0x21129e0,
strings = 0x7fffffffcde8, lengths = 0x0, stringNames = 0x0,
preamble = 0xcb7e80 "", numStrings = 1, sourceEntryPointName = "",
environment = {input = {languageFamily = glslang::EShSourceNone,
stage = EShLangVertex, dialect = glslang::EShClientNone,
dialectVersion = 0}, client = {client = glslang::EShClientNone,
version = 0}, target = {language = glslang::EShTargetNone,
version = 0, hlslFunctionality1 = false}}}
#7 0x0000000000702574 in glslang_compile_shader (
shader_path=0x2d58a10 "/home/orbea/.config/retroarch/shaders/shaders_slang/ntsc/shaders/mame-ntsc/mame-ntsc.slang", output=0x7fffffffd090)
at gfx/drivers_shader/glslang_util.cpp:395
lines = std::vector of length 258, capacity 512 = {"#version 450",
"#extension GL_GOOGLE_cpp_style_line_directive : require",
"#line 2 \"mame-ntsc.slang\"", "",
"// This is a port of the NTSC encode/decode shader pair in MAME and MESS, modified to use only",
"// one pass rather than an encode pass and a decode pass. It accurately emulates the sort of",
"// signal decimation one would see when viewing a composite signal, though it could benefit from a",
"// pre-pass to re-size the input content to more accurately reflect the actual size that would", "// be incoming from a composite signal source.",
"//",
"// To encode the composite signal, I convert the RGB value to YIQ, then subsequently evaluate",
"// the standard NTSC composite equation. Four composite samples per RGB pixel are generated from", "// the incoming linearly-interpolated texels.",
"//",
"// The decode pass implements a Fixed Impulse Response (FIR) filter designed by MAME/MESS contributor",
"// \"austere\" in matlab (if memory serves correctly) to mimic the behavior of a standard television set",
"// as closely as possible. The filter window is 83 composite samples wide, and there is an additional",
"// notch filter pass on the luminance (Y) values in order to strip the color signal from the luminance", "// signal prior to processing.", "//",
"// Yes, this code could greatly use some cleaning up.", "",
"// ported from UltraMoogleMan's \"Full MAME/MESS Shader Pipe\" shadertoy: https://www.shadertoy.com/view/ldf3Rf",
"// license: presumably MAME's license at the time, which was noncommercial", "", "layout(push_constant) uniform Push", "{", "\tvec4 SourceSize;",
"\tvec4 OriginalSize;", "\tvec4 OutputSize;", "\tuint FrameCount;",
"} params;", "", "#line 1 \"constants.inc\"", "// Useful Constants",
"const vec4 Zero = vec4(0.0);", "const vec4 Half = vec4(0.5);",
"const vec4 One = vec4(1.0);", "const vec4 Two = vec4(2.0);",
"const vec3 Gray = vec3(0.3, 0.59, 0.11);",
"const float Pi = 3.1415926535;", "const float Pi2 = 6.283185307;",
"", "// NTSC Constants", "const vec4 A = vec4(0.5);",
"const vec4 A2 = vec4(1.0);", "const vec4 B = vec4(0.5);",
"const float P = 1.0;", "const float CCFrequency = 3.59754545;",
"const float NotchUpperFrequency = 3.59754545 + 2.0;",
"const float NotchLowerFrequency = 3.59754545 - 2.0;",
"const float YFrequency = 6.0;", "const float IFrequency = 1.2;",
"const float QFrequency = 0.6;", "const float NotchHalfWidth = 2.0;",
"const float ScanTime = 52.6;",
"const float Pi2ScanTime = 6.283185307 * 52.6;",
"const float MaxC = 2.1183;",
"const vec4 YTransform = vec4(0.299, 0.587, 0.114, 0.0);",
"const vec4 ITransform = vec4(0.595716, -0.274453, -0.321263, 0.0);",
"const vec4 QTransform = vec4(0.211456, -0.522591, 0.311135, 0.0);",
"const vec3 YIQ2R = vec3(1.0, 0.956, 0.621);",
"const vec3 YIQ2G = vec3(1.0, -0.272, -0.647);",
"const vec3 YIQ2B = vec3(1.0, -1.106, 1.703);",
"const vec4 MinC = vec4(-1.1183);",
"const vec4 CRange = vec4(3.2366);",
"const vec4 InvCRange = vec4(1.0/3.2366);",
"const float Pi2Length = Pi2 / 63.0;",
"const vec4 NotchOffset = vec4(0.0, 1.0, 2.0, 3.0);",
"const vec4 W = vec4(Pi2 * CCFrequency * ScanTime);", "",
"// Color Convolution Constants",
"const vec3 RedMatrix = vec3(1.0, 0.0, 0.0);",
"const vec3 GrnMatrix = vec3(0.0, 1.0, 0.0);",
"const vec3 BluMatrix = vec3(0.0, 0.0, 1.0);",
"const vec3 DCOffset = vec3(0.0, 0.0, 0.0);",
"const vec3 ColorScale = vec3(0.95, 0.95, 0.95);",
"const float Saturation = 1.4;", "", "// Deconverge Constants",
"const vec3 ConvergeX = vec3(-0.4, 0.0, 0.2);",
"const vec3 ConvergeY = vec3( 0.0, -0.4, 0.2);",
"const vec3 RadialConvergeX = vec3(1.0, 1.0, 1.0);",
"const vec3 RadialConvergeY = vec3(1.0, 1.0, 1.0);", "",
"// Scanline/Pincushion Constants",
"const float PincushionAmount = 0.015;",
"const float CurvatureAmount = 0.015;",
"//const float ScanlineAmount = 0.175; <- move to parameter",
"const float ScanlineScale = 1.0;",
"const float ScanlineHeight = 1.0;",
"const float ScanlineBrightScale = 1.0;",
"const float ScanlineBrightOffset = 0.0;",
"const float ScanlineOffset = 0.0;",
"const vec3 Floor = vec3(0.05, 0.05, 0.05);", "",
"// 60Hz Bar Constants",
"const float SixtyHertzRate = (60.0 / 59.97 - 1.0); // Difference between NTSC and line frequency", "const float SixtyHertzScale = 0.1;",
"#line 32 \"mame-ntsc.slang\"", "",
"layout(std140, set = 0, binding = 0) uniform UBO", "{",
"\tmat4 MVP;", "} global;", "", "#pragma stage vertex",
"#line 40 \"mame-ntsc.slang\"",
"layout(location = 0) in vec4 Position;",
"layout(location = 1) in vec2 TexCoord;",
"layout(location = 0) out vec2 vTexCoord;", "", "void main()", "{",
" gl_Position = global.MVP * Position;", " vTexCoord = TexCoord;",
"}", "", "#pragma stage fragment", "#line 51 \"mame-ntsc.slang\"",
"layout(location = 0) in vec2 vTexCoord;",
"layout(location = 0) out vec4 FragColor;",
"layout(set = 0, binding = 2) uniform sampler2D Source;", "",
"#define iChannel0 Source", "",
"vec4 CompositeSample(vec2 UV, vec2 InverseRes) {",
"\tvec2 InverseP = vec2(P, 0.0) * InverseRes;", "\t",
"\t// UVs for four linearly-interpolated samples spaced 0.25 texels apart", "\tvec2 C0 = UV;", "\tvec2 C1 = UV + InverseP * 0.25;",
"\tvec2 C2 = UV + InverseP * 0.50;",
"\tvec2 C3 = UV + InverseP * 0.75;",
"\tvec4 Cx = vec4(C0.x, C1.x, C2.x, C3.x);",
"\tvec4 Cy = vec4(C0.y, C1.y, C2.y, C3.y);", "",
"\tvec4 Texel0 = texture(iChannel0, C0);",
"\tvec4 Texel1 = texture(iChannel0, C1);",
"\tvec4 Texel2 = texture(iChannel0, C2);",
"\tvec4 Texel3 = texture(iChannel0, C3);", "\t",
"\tfloat Frequency = CCFrequency;",
"\t//Frequency = Frequency;// Uncomment for bad color sync + (sin(UV.y * 2.0 - 1.0) / CCFrequency) * 0.001;", "",
"\t// Calculated the expected time of the sample.",
"\tvec4 T = A2 * Cy * vec4(params.SourceSize.y) + B + Cx;",
"\tvec4 W = vec4(Pi2ScanTime * Frequency);", "\tvec4 TW = T * W;",
"\tvec4 Y = vec4(dot(Texel0, YTransform), dot(Texel1, YTransform), dot(Texel2, YTransform), dot(Texel3, YTransform));",
"\tvec4 I = vec4(dot(Texel0, ITransform), dot(Texel1, ITransform), dot(Texel2, ITransform), dot(Texel3, ITransform));",
"\tvec4 Q = vec4(dot(Texel0, QTransform), dot(Texel1, QTransform), dot(Texel2, QTransform), dot(Texel3, QTransform));", "",
"\tvec4 Encoded = Y + I * cos(TW) + Q * sin(TW);",
"\treturn (Encoded - MinC) * InvCRange;", "}", "",
"vec4 NTSCCodec(vec2 UV, vec2 InverseRes)", "{",
"\tvec4 YAccum = Zero;", "\tvec4 IAccum = Zero;",
"\tvec4 QAccum = Zero;",
"\tfloat QuadXSize = params.SourceSize.x * 4.0;",
"\tfloat TimePerSample = ScanTime / QuadXSize;", "\t",
"\t// Frequency cutoffs for the individual portions of the signal that we extract.",
"\t// Y1 and Y2 are the positive and negative frequency limits of the notch filter on Y.",
"\t// Y3 is the center of the frequency response of the Y filter.",
"\t// I is the center of the frequency response of the I filter.",
"\t// Q is the center of the frequency response of the Q filter.",
"\tfloat Fc_y1 = NotchLowerFrequency * TimePerSample;",
"\tfloat Fc_y2 = NotchUpperFrequency * TimePerSample;",
"\tfloat Fc_y3 = YFrequency * TimePerSample;",
"\tfloat Fc_i = IFrequency * TimePerSample;",
"\tfloat Fc_q = QFrequency * TimePerSample;",
"\tfloat Pi2Fc_y1 = Fc_y1 * Pi2;", "\tfloat Pi2Fc_y2 = Fc_y2 * Pi2;",
"\tfloat Pi2Fc_y3 = Fc_y3 * Pi2;", "\tfloat Pi2Fc_i = Fc_i * Pi2;",
"\tfloat Pi2Fc_q = Fc_q * Pi2;", "\tfloat Fc_y1_2 = Fc_y1 * 2.0;",
"\tfloat Fc_y2_2 = Fc_y2 * 2.0;", "\tfloat Fc_y3_2 = Fc_y3 * 2.0;",
"\tfloat Fc_i_2 = Fc_i * 2.0;", "\tfloat Fc_q_2 = Fc_q * 2.0;",
"\tvec4 CoordY = vec4(UV.y);", "\t",
"\t// 83 composite samples wide, 4 composite pixels per texel",
"\tfor(float n = -31.0; n < 32.0; n += 4.0)", "\t{",
"\t\tvec4 n4 = n + NotchOffset;",
"\t\tvec4 CoordX = UV.x + InverseRes.x * n4 * 0.25;",
"\t\tvec2 TexCoord = vec2(CoordX.x, CoordY.x);",
"\t\tvec4 C = CompositeSample(TexCoord, InverseRes) * CRange + MinC;",
"\t\tvec4 WT = W * (CoordX + A2 * CoordY * params.SourceSize.y + B);", "\t\tvec4 Cosine = 0.54 + 0.46 * cos(Pi2Length * n4);", "",
"\t\tvec4 SincYIn1 = Pi2Fc_y1 * n4;",
"\t\tvec4 SincYIn2 = Pi2Fc_y2 * n4;",
"\t\tvec4 SincYIn3 = Pi2Fc_y3 * n4;"...}
#8 0x00000000006c35a3 in vulkan_filter_chain_create_from_preset (
info=0x7fffffffd230,
path=0x7ffff5230074 "/home/orbea/.config/retroarch/shaders/shaders_slang/ntsc/mame-ntsc.slangp", filter=VULKAN_FILTER_CHAIN_LINEAR)
at gfx/drivers_shader/shader_vulkan.cpp:2865
next_pass = 0x2d59a90
output = {vertex = std::vector of length 0, capacity 0,
fragment = std::vector of length 0, capacity 0, meta = {
parameters = std::vector of length 0, capacity 0, name = "",
rt_format = SLANG_FORMAT_UNKNOWN}}
pass_info = {scale_type_x = VULKAN_FILTER_CHAIN_SCALE_ORIGINAL,
scale_type_y = VULKAN_FILTER_CHAIN_SCALE_ORIGINAL, scale_x = 0,
scale_y = 0, rt_format = VK_FORMAT_UNDEFINED,
source_filter = VULKAN_FILTER_CHAIN_LINEAR,
mip_filter = VULKAN_FILTER_CHAIN_LINEAR,
address = VULKAN_FILTER_CHAIN_ADDRESS_REPEAT, max_levels = 0}
pass = 0x2d58a10
explicit_format = false
i = 0
shader = std::unique_ptr<video_shader> = {get() = 0x2d567a0}
conf = std::unique_ptr<config_file> = {get() = 0x1e33c90}
last_pass_is_fbo = false
tmpinfo = {device = 0x1b0ca00, gpu = 0x2258390,
memory_properties = 0x221ae70, pipeline_cache = 0xb,
queue = 0x2ca00d0, command_pool = 0x90, num_passes = 2,
original_format = VK_FORMAT_R5G6B5_UNORM_PACK16, max_input_size = {
width = 512, height = 512}, swapchain = {viewport = {x = 0, y = 0,
width = 1680, height = 1050, minDepth = 0, maxDepth = 1},
format = VK_FORMAT_B8G8R8A8_UNORM, render_pass = 0x12,
num_indices = 3}}
chain = std::unique_ptr<vulkan_filter_chain> = {get() = 0x20ed380}
#9 0x00000000006aa4fa in vulkan_init_filter_chain_preset (vk=0x21dccd0,
shader_path=0x7ffff5230074 "/home/orbea/.config/retroarch/shaders/shaders_slang/ntsc/mame-ntsc.slangp") at gfx/drivers/vulkan.c:815
info = {device = 0x1b0ca00, gpu = 0x2258390,
memory_properties = 0x221ae70, pipeline_cache = 0xb,
queue = 0x2ca00d0, command_pool = 0x90, num_passes = 0,
original_format = VK_FORMAT_R5G6B5_UNORM_PACK16, max_input_size = {
width = 512, height = 512}, swapchain = {viewport = {x = 0, y = 0,
width = 1680, height = 1050, minDepth = 0, maxDepth = 1},
format = VK_FORMAT_B8G8R8A8_UNORM, render_pass = 0x12,
num_indices = 3}}
#10 0x00000000006aa5c5 in vulkan_init_filter_chain (vk=0x21dccd0)
at gfx/drivers/vulkan.c:847
shader_path = 0x7ffff5230074 "/home/orbea/.config/retroarch/shaders/shaders_slang/ntsc/mame-ntsc.slangp"
type = RARCH_SHADER_SLANG
#11 0x00000000006ab4cb in vulkan_init (video=0x7fffffffd380,
input=0xf09430 <current_input>, input_data=0xf09438 <current_input_data>)
at gfx/drivers/vulkan.c:1241
mode = {width = 1680, height = 1050, fullscreen = true}
inp = {input = 0x7fffffffd360,
input_data = 0x481c28 <video_driver_find_driver+405>}
full_x = 1680
full_y = 1050
win_width = 1680
win_height = 1050
interval = 0
temp_width = 1680
temp_height = 1050
ctx_driver = 0xc67180 <gfx_ctx_x>
vk = 0x21dccd0
#12 0x00000000004801ac in video_driver_init_internal (
video_is_threaded=0x7fffffffd447) at gfx/video_driver.c:1063
video = {fullscreen = true, vsync = false, force_aspect = true,
font_enable = true, width = 0, height = 0, swap_interval = 1,
smooth = true, is_threaded = false, rgb32 = false, input_scale = 2,
parent = 0}
max_dim = 320
scale = 2
width = 0
height = 0
custom_vp = 0x7ffff524a078
tmp = 0xeae220 <input_udev>
system = 0x0
dummy_pixels = {0 <repeats 32 times>}
settings = 0x7ffff5210010
geom = 0xf09500 <video_driver_av_info>
#13 0x0000000000481511 in video_driver_init (video_is_threaded=0x7fffffffd447)
at gfx/video_driver.c:1758
No locals.
#14 0x0000000000418072 in drivers_init (flags=1023) at retroarch.c:599
hwr = 0xf0d7e0 <hw_render>
video_is_threaded = false
#15 0x000000000041a7b2 in retroarch_main_init (argc=8, argv=0x7fffffffd630)
at retroarch.c:2052
init_failed = false
global = 0xeb6560 <g_extern>
#16 0x000000000043780d in content_load (info=0x7fffffffd8e0)
at tasks/task_content.c:291
i = 0
retval = true
rarch_argc = 8
rarch_argv = {0x1ae8930 "retroarch", 0x1763c60 "--menu", 0x2be7d30 "-s",
0x2be7c00 "/media/data/home/games/roms/.saves/retroarch",
0x2be8060 "-S",
0x2c64d70 "/media/data/home/games/roms/.saves/retroarch/.sstates",
0x2da0040 "-c",
0x2c21ba0 "/home/orbea/.config/retroarch/retroarch.cfg",
0x0 <repeats 24 times>}
argv_copy = {0x1ae8930 "retroarch", 0x1763c60 "--menu", 0x2be7d30 "-s",
0x2be7c00 "/media/data/home/games/roms/.saves/retroarch",
0x2be8060 "-S",
0x2c64d70 "/media/data/home/games/roms/.saves/retroarch/.sstates",
0x2da0040 "-c",
0x2c21ba0 "/home/orbea/.config/retroarch/retroarch.cfg",
0x0 <repeats 24 times>}
rarch_argv_ptr = 0x7fffffffd630
rarch_argc_ptr = 0x7fffffffd73c
wrap_args = 0x1d548d0
#17 0x0000000000438ab9 in task_load_content (content_info=0x7fffffffd8e0,
content_ctx=0x7fffffffd840, launched_from_menu=false,
launched_from_cli=false, error_string=0x7fffffffd838)
at tasks/task_content.c:982
contentless = false
is_inited = false
#18 0x0000000000439282 in task_push_start_dummy_core (
content_info=0x7fffffffd8e0) at tasks/task_content.c:1260
content_ctx = {subsystem = {data = 0x0, size = 0},
name_ips = 0x1e23420 "/media/data/home/games/roms/gbc/Legend of Zelda, The - Link's Awakening DX (USA, Europe).ips",
name_bps = 0x2190120 "/media/data/home/games/roms/gbc/Legend of Zelda, The - Link's Awakening DX (USA, Europe).bps",
name_ups = 0x2d99e10 "/media/data/home/games/roms/gbc/Legend of Zelda, The - Link's Awakening DX (USA, Europe).ups", valid_extensions = 0x0,
directory_cache = 0x0,
directory_system = 0x2101da0 "/media/data/home/games/bios",
is_ips_pref = false, is_bps_pref = false, is_ups_pref = false,
history_list_enable = true, block_extract = false,
need_fullpath = false, set_supports_no_game_enable = false,
patch_is_blocked = false, bios_is_missing = false,
check_firmware_before_loading = true, temporary_content = 0xa0f887}
ret = true
error_string = 0x0
global = 0xeb6560 <g_extern>
settings = 0x7ffff5210010
sys_info = 0xeb10e0 <runloop_system>
#19 0x0000000000425ea5 in command_event (cmd=CMD_EVENT_UNLOAD_CORE, data=0x0)
at command.c:1949
contentless = false
is_inited = true
content_info = {argc = 0, argv = 0x0, args = 0x0,
environ_get = 0x4388ec <menu_content_environment_get>}
boolean = false
#20 0x0000000000619047 in generic_action_ok_command (cmd=CMD_EVENT_UNLOAD_CORE)
at menu/cbs/menu_cbs_ok.c:1274
settings = 0x7ffff5210010
#21 0x000000000061edcc in action_ok_close_content (
path=0x7fffe4000d20 "Close Content", label=0x7fffe4000c30 "unload_core",
type=128, idx=2, entry_idx=0) at menu/cbs/menu_cbs_ok.c:3776
No locals.
#22 0x0000000000615fbb in menu_entry_action (entry=0x7fffffffdcc0, i=2,
action=MENU_ACTION_OK) at menu/widgets/menu_entry.c:471
ret = 0
selection_buf = 0x1eb6440
cbs = 0x2ca0360
#23 0x000000000066469d in generic_menu_iterate (menu=0x1f40bc0,
userdata=0x1eb47d0, action=MENU_ACTION_OK) at menu/drivers/menu_generic.c:233
entry = {enum_idx = MENU_ENUM_LABEL_CLOSE_CONTENT, idx = 2, type = 128,
spacing = 0, entry_idx = 0, path = 0x7fffe4000d20 "Close Content",
label = 0x7fffe4000c30 "unload_core",
sublabel = 0x2c505e0 "Closes the current content. Any unsaved changes might be lost.", rich_label = 0x0, value = 0x0, checked = false}
selection = 2
iterate_type = ITERATE_TYPE_DEFAULT
file_type = 0
ret = 0
enum_idx = MSG_UNKNOWN
label = 0x225a320 "deferred_rpl_entry_actions"
#24 0x00000000005f165d in menu_driver_iterate (iterate=0x7fffffffde80)
at menu/menu_driver.c:2049
No locals.
#25 0x000000000041cf57 in runloop_check_state (settings=0x7ffff5210010,
input_nonblock_state=false, runloop_is_paused=false, fastforward_ratio=5,
sleep_ms=0x7fffffffe0f0) at retroarch.c:3634
action = MENU_ACTION_OK
old_action = MENU_ACTION_NOOP
focused = true
trigger_input = {data = {256, 0, 0, 0, 0, 0, 0, 0}, analogs = {0, 0, 0,
0, 0, 0, 0, 0}, analog_buttons = {0 <repeats 16 times>}}
iter = {action = MENU_ACTION_OK, pointer = {x = -29544, y = 17913,
touch = false}, mouse = {x = 0, y = 0, buttons = {left = false,
right = false}, wheel = {up = false, down = false}}}
old_input = {data = {0, 0, 0, 0, 0, 0, 0, 0}, analogs = {0, 0, 0, 0, 0,
0, 0, 0}, analog_buttons = {0 <repeats 16 times>}}
global = 0xeb6560 <g_extern>
current_input = {data = {256, 0, 0, 0, 0, 0, 0, 0}, analogs = {0, 0, 0,
0, 0, 0, 0, 0}, analog_buttons = {0 <repeats 16 times>}}
last_input = {data = {256, 0, 0, 0, 0, 0, 0, 0}, analogs = {0, 0, 0, 0,
0, 0, 0, 0}, analog_buttons = {0 <repeats 16 times>}}
old_quit_key = false
quit_key = false
trig_quit_key = false
quit_key_time = 0
runloop_exec = false
old_focus = true
is_focused = true
is_alive = true
frame_count = 1127
focused = true
pause_nonactive = true
rarch_is_initialized = true
fs_toggle_triggered = false
menu_driver_binding_state = false
menu_is_alive = true
menu_toggle_gamepad_combo = 1
seq = 0
#26 0x000000000041e550 in runloop_iterate (sleep_ms=0x7fffffffe0f0)
at retroarch.c:4412
i = 0
runloop_is_paused = false
input_nonblock_state = false
settings = 0x7ffff5210010
fastforward_ratio = 5
video_frame_delay = 0
vrr_runloop_enable = false
max_users = 2
#27 0x0000000000415e33 in rarch_main (argc=1, argv=0x7fffffffe208, data=0x0)
at frontend/frontend.c:156
sleep_ms = 0
ret = 0
args = 0x0
#28 0x0000000000415e90 in main (argc=1, argv=0x7fffffffe208)
at frontend/frontend.c:184
No locals.
(gdb) t a a f
Thread 10 (Thread 0x7fffef0fb700 (LWP 4695)):
#0 0x00007ffff7cd01b3 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib64/libpthread.so.0
Thread 9 (Thread 0x7ffff520f700 (LWP 4694)):
#0 0x00007ffff7cd01b3 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib64/libpthread.so.0
Thread 1 (Thread 0x7ffff524b800 (LWP 4572)):
#0 0x00007ffff63eb20b in raise () from /lib64/libc.so.6