problems with GLSL convolution shader
#1
This is a problem with v17 betas, although from git it looks like the changes date back to 5/2015.

In convolution-6x6.glsl, there is an attempt to implicitly convert a vec3 to vec4. This leads to a failure, as seen in the following log:

Quote:11:04:46.725 T:139883303530048 NOTICE: GL: Selecting Single Pass YUV 2 RGB shader
11:04:46.744 T:139883303530048 ERROR: GL: Error compiling pixel shader
11:04:46.744 T:139883303530048 ERROR: 0:113(2): error: value of type vec3 cannot be assigned to variable of type vec4
11:04:46.744 T:139883303530048 ERROR: GL: Error compiling fragment shader
11:04:46.744 T:139883303530048 ERROR: GL: Error compiling and linking video filter shader
11:04:46.744 T:139883303530048 ERROR: GL: Falling back to bilinear due to failure to init scaler

The process() function needs altering. As far as I can tell, this has never worked, although some 3rd-party shader compilers may accept the code, many including Intel/Mesa do not.
Reply
#2
Can you show me that code? I don't have issues on intel and did not see the issue looking through the glsl code. What did I overlook?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#3
You mean that one:

Code:
rgb =
   line(xystart.y                 , xpos1, xpos2, linetaps1, linetaps2) * columntaps1.r +
   line(xystart.y + stepxy.y      , xpos1, xpos2, linetaps1, linetaps2) * columntaps2.r +
   line(xystart.y + stepxy.y * 2.0, xpos1, xpos2, linetaps1, linetaps2) * columntaps1.g +
   line(xystart.y + stepxy.y * 3.0, xpos1, xpos2, linetaps1, linetaps2) * columntaps2.g +
   line(xystart.y + stepxy.y * 4.0, xpos1, xpos2, linetaps1, linetaps2) * columntaps1.b +
   line(xystart.y + stepxy.y * 5.0, xpos1, xpos2, linetaps1, linetaps2) * columntaps2.b;

  rgb.a = gl_Color.a;
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#4
Does that help? http://sprunge.us/ibMK ?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#5
Works for me on intel with the above patch:

Quote:22:00:32.025 T:140432775735680 DEBUG: GL: ConvolutionFilterShader: using convolution-6x6.glsl defines:
#define HAS_FLOAT_TEXTURE 1
#define XBMC_STRETCH 0
#define XBMC_DITHER
#define USE1DTEXTURE 1
22:00:32.027 T:140432775735680 DEBUG: GL: Vertex Shader compilation log:
22:00:32.027 T:140432775735680 DEBUG: GL: Vertex Shader compiled successfully
22:00:32.034 T:140432775735680 DEBUG: GL: Pixel Shader compilation log:
22:00:32.034 T:140432775735680 DEBUG: GL: Fragment Shader compiled successfully
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#6
(2016-12-22, 22:27)fritsch Wrote: You mean that one:

Code:
rgb =
   line(xystart.y                 , xpos1, xpos2, linetaps1, linetaps2) * columntaps1.r +
   line(xystart.y + stepxy.y      , xpos1, xpos2, linetaps1, linetaps2) * columntaps2.r +
   line(xystart.y + stepxy.y * 2.0, xpos1, xpos2, linetaps1, linetaps2) * columntaps1.g +
   line(xystart.y + stepxy.y * 3.0, xpos1, xpos2, linetaps1, linetaps2) * columntaps2.g +
   line(xystart.y + stepxy.y * 4.0, xpos1, xpos2, linetaps1, linetaps2) * columntaps1.b +
   line(xystart.y + stepxy.y * 5.0, xpos1, xpos2, linetaps1, linetaps2) * columntaps2.b;

  rgb.a = gl_Color.a;

Yes. Not a shader coder, so my hack solution was to use a secondary variable. Cannot see the file/patch you posted.
Reply
#7
I fixed it in kodi master. So whenever you pull master branch again it will be fixed.

And btw: Big thx! for reporting that bug and tracking it down so that the fix was minimal!

via: https://github.com/xbmc/xbmc/pull/11252 and it will land in Krypton, too.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#8
(2016-12-23, 09:07)fritsch Wrote: I fixed it in kodi master. So whenever you pull master branch again it will be fixed.

And btw: Big thx! for reporting that bug and tracking it down so that the fix was minimal!

via: https://github.com/xbmc/xbmc/pull/11252 and it will land in Krypton, too.

Great! Working now for me
Reply
#9
Question 
hi
I think I have the same problem. I use kodi with Libreelec. the log is attached. the complete log is stored at
my dropbox.
the Kodi version is v17 and the libreelec version is the newest.
I'm blind and use Kodi TtS, For this reason I can't check the version of Kodi.
Code:
21:41:36.725 T:140130008751424  NOTICE: GL: Selecting Single Pass YUV 2 RGB shader
21:41:36.728 T:140130008751424   DEBUG: GL: Vertex Shader compilation log:
21:41:36.728 T:140130008751424   DEBUG: GL: Vertex Shader compiled successfully
21:41:36.729 T:140130008751424   ERROR: GL: Error compiling pixel shader
[/quote]
21:41:36.729 T:140130008751424 ERROR: A
21:41:36.729 T:140130008751424 ERROR: GL: Error compiling fragment shader
21:41:36.729 T:140130008751424 ERROR: GL: Error enabling YUV2RGB GLSL shader
21:41:36.729 T:140130008751424 ERROR: GL: Shaders support not present
21:41:36.729 T:140130008751424 NOTICE: GL: NPOT textures are supported through GL_ARB_texture_rectangle extension
21:41:36.729 T:140130008751424 NOTICE: GL: Using GL_ARB_pixel_buffer_object
21:41:36.907 T:140128930883328 DEBUG: CVideoPlayerVideo::CalcDropRequirement - hurry: 0
Reply
#10
No you don't have the same problem. you have an outdated and not supported GPU
Quote:21:06:10.604 T:140130008751424 NOTICE: GL_VENDOR = Intel Open Source Technology Center
21:06:10.604 T:140130008751424 NOTICE: GL_RENDERER = Mesa DRI Intel® 865G
21:06:10.604 T:140130008751424 NOTICE: GL_VERSION = 1.3 Mesa 13.0.3
21:06:10.604 T:140130008751424 NOTICE: GL_SHADING_LANGUAGE_VERSION = 1.2
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#11
oh, ok, thanks.
should I open a new thread, or there is no way to solve it?
Reply

Logout Mark Read Team Forum Stats Members Help
problems with GLSL convolution shader0