English Amiga Board


Go Back   English Amiga Board > Support > support.FS-UAE

 
 
Thread Tools
Old 05 May 2016, 18:29   #1
Decypher
Registered User
Decypher's Avatar
 
Join Date: Mar 2013
Location: Turkey
Posts: 25
CRT shader issues

Finally I decided to give FS-UAE shaders a go but encountered a weird problem with CRT shader.

I have tested several shaders, from Curvature to TestBloom to HQ2x, all are working flawlessly. But when I choose crt shader (or the newer crt-geom-interlaced-curved shader) FS-UAE is giving me "[SHADERS] Failed to compile fragment shader, [SHADERS] No shader passes loaded" error.

I checked log file and in both shader errors are the same:

[SHADERS] Initialize
[SHADERS] Checking shader shaders\\crt-geom-interlaced-curved.shader
WARNING: 0:23: warning(#437) Extension GL_ARB_shading_language_420pack or version 4.20 is requried''.

[SHADERS] Compiled vertex shader successfully
Fragment shader failed to compile with the following errors:
WARNING: 0:6: warning(#437) Extension GL_ARB_shading_language_420pack or version 4.20 is requried''.
WARNING: 0:9: warning(#437) Extension GL_ARB_shading_language_420pack or version 4.20 is requried''.
ERROR: 0:157: error(#133) Reserved word: filter
ERROR: 0:157: error(#132) Syntax error: "filter" parse error
ERROR: error(#273) 2 compilation errors. No code generated

I'm using ATI R9 380x graphics card and this is the first time I had problems with any shaders (no problem at all with MAME HLSL shaders).

Is there any way to fix this problem, or does that mean I won't be able to use these two crt shaders?
Decypher is offline  
Old 05 May 2016, 21:35   #2
FrodeSolheim
FS-UAE Developer

FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 37
Posts: 3,427
I think it seems quite obvious from the warnings that your OpenGL drivers do not meet the minimum requirements of that shader. According to the messages, you need shader version 4.20. This (usually) corresponds to the OpenGL driver supporting OpenGL 4.2+.
FrodeSolheim is offline  
Old 05 May 2016, 21:45   #3
Decypher
Registered User
Decypher's Avatar
 
Join Date: Mar 2013
Location: Turkey
Posts: 25
At first I thought the same thing and I installed OpenGL Extensions Viewer to confirm I don't have an old driver.

According to this program I have OpenGL 4.4 installed.



I reinstalled my graphics card drivers just to be sure, but nothing is changed. I don't know if I need to try an older version of gfx driver (or OpenGL drivers), but it seems weird to me.
Decypher is offline  
Old 05 May 2016, 21:48   #4
FrodeSolheim
FS-UAE Developer

FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 37
Posts: 3,427
Probably not much I can do about it anyway, but you can attach fs-uae.log.txt here, so we can validate what kind of OpenGL information FS-UAE queries from the actual OpenGL driver it uses.
FrodeSolheim is offline  
Old 05 May 2016, 21:57   #5
FrodeSolheim
FS-UAE Developer

FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 37
Posts: 3,427
Hmm, actually, it is possible the only real problem is the name of a variable ("filter") in the shader - if the shader version warnings themselves "are harmless". Please upload fs-uae.log.txt, and I may provide a tweaked crt.shader file for you test.
FrodeSolheim is offline  
Old 05 May 2016, 22:03   #6
Decypher
Registered User
Decypher's Avatar
 
Join Date: Mar 2013
Location: Turkey
Posts: 25
My fs-uae.log is attached, I hope that 'filter' thing is the culprit
Attached Files
File Type: txt fs-uae.log.txt (57.0 KB, 84 views)
Decypher is offline  
Old 05 May 2016, 22:06   #7
Decypher
Registered User
Decypher's Avatar
 
Join Date: Mar 2013
Location: Turkey
Posts: 25
You were totally right Frode! I changed the word 'filter' to 'filterz' and it worked. Seems like they reserved the 'filter' word in newer OpenGL extensions.

Thank you very much for your spot-on solution
Decypher is offline  
Old 05 May 2016, 22:10   #8
FrodeSolheim
FS-UAE Developer

FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 37
Posts: 3,427
Log confirms that the OpenGL driver in use supports OpenGL version 4.5.

I'm now guessing - based on looking at the shader (which I have not written) - that the warning is because the shader requires version 4.20, but the shader fails to declare minimum version in the shader source.

Attached is a modified shader with the "filter" variable renamed to "filter_".

Extract crt.shader to somewhere, and in advanced settings in FS-UAE Launcher, add something like (with correct path, of course):
Code:
shader = c:\shaders\crt.shader
EDIT: Didn't notice that you had tested the fix yourself in the meantime

EDIT2: Bundled shader updated for next development release.
Attached Files
File Type: zip crt.shader.zip (3.9 KB, 121 views)

Last edited by FrodeSolheim; 05 May 2016 at 22:47.
FrodeSolheim is offline  
Old 05 May 2016, 22:50   #9
Decypher
Registered User
Decypher's Avatar
 
Join Date: Mar 2013
Location: Turkey
Posts: 25
I just tested the unmodified shader files on my laptop (which is using a Nvidia gfx card and OpenGL 4.4) and shaders working there.

So this problem may be specific to ATI cards, maybe they broke something in new drivers. In any case I hope this thread will help others if they face the same problem.
Decypher is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
CRT-Geom shader tweak -- Anyone??? Leandro Jardim Retrogaming General Discussion 3 02 September 2015 03:04
Possible to port Timothy Lottes' CRT shader? deadendthrills support.FS-UAE 2 27 June 2015 11:24
HLSL shader problems + suggestion TysonJacobs support.WinUAE 3 07 December 2013 18:04
Scanline shader problem TysonJacobs support.WinUAE 3 26 July 2013 10:43
Please help me with my shader! tjcbs support.WinUAE 3 02 February 2013 22:49

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 00:45.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.06976 seconds with 14 queries