Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

opengl: support of shaders/GSdx* shaders #556

Closed
gregory38 opened this issue May 26, 2015 · 19 comments
Closed

opengl: support of shaders/GSdx* shaders #556

gregory38 opened this issue May 26, 2015 · 19 comments
Labels
Milestone

Comments

@gregory38
Copy link
Contributor

Variours users complains that @Asmodean- shader doesn't work with opengl.

I maybe broke it after my GSdx refresh. It need to be investigated.

@gregory38 gregory38 added this to the Release 1.4 milestone May 26, 2015
@gregory38 gregory38 added the GS label May 26, 2015
@tsunami2311
Copy link

Meh i open an issue about before realizing you had aready this and i have no clue how to delete it soi closed.

Anyway with my test 2.30(latest test build) 2.20 (git builds) , 1.21 PCSX2 and last SVN build (5927) both of which have 2.0 shader in the main dir, All do not effect image in anyway in OpenGL.I have put, the shaders in main dir for the git builds too no go has no effect.

Asmodean
Says 2.30 isnt ready for opengl and says the shader is for D3D 10+ and shader model 4.0 but my findings is everything back to 2.0 dont work in OpenGL. so either this issue is the shader never worked or something in GSDX change to make it not work. but then these change have to go back quite bit seeing I went back to 1.21 and (5927) last SNV build and it didnt work in them either.

Possibility if it being nvidia broke something? I am using 350.12

Pcsx2 says the shader get enabled/disabled with home key but nothing really happens

@tsunami2311
Copy link

I will test it agian with newer drivers to see if driver issue when i get change and redownload the build, as i went back to the 2.30 gsdx shader build i use

for mean time turteli use this for GSdx_FX_Settings cause FXAA and ther other options i use the change the darkness/color etc dont work on my end

#define UHQ_FXAA 1
#define BLENDED_BLOOM 1
#define SCENE_TONEMAPPING 1
#define GAMMA_CORRECTION 1
#define TEXTURE_SHARPEN 1
#define PIXEL_VIBRANCE 1
#define S_CURVE_CONTRAST 1
#define DITHERING 1
#define PX_BORDER 1

I will update again when i test newer drivers

@tsunami2311
Copy link

@Turtel
ok I just test again with 353.12 which is the same as the 353.06 other then gsync fix, the gsdx shader most definitely does not work in opengl, I even test the scanline shader in it which easiest to see if it works and does not work on my end. works fine in DX11 though. This off of a fresh install of the driver no changes dont to profiles yet, so i not sure how working for you do you have shader cache off in drivers nvcp? that only thing i can think of. but last time i tried turning shader cache on/off and it didnt mater either still didnt work in opengl

Windows 7 ultimate 353.12 driver 660gtx unless it it is specifily my pc have the issue with opengl or you accidentally just test it with dx 11 i am on sure what happen, would be nice is Asmodean reappeared.

@turtleli
Copy link
Member

Perhaps it's to do with the graphics card? My graphics card is fairly new.

My OpenGL results:
UHQ_FXAA - does nothing on OpenGL but has an effect on DX11.
DITHERING - can't detect any difference on both OpenGL and DX11. Might just be me.
Everything else has a visible effect on OpenGL.

Git revision: based on 72b828e (there are modifications, but none touch the shaders or GSdx)
GSdx Native resolution, OpenGL hardware, accurate blend, accurate date, accurate color clipping all on
Messages from GSdx:

3.x GL context successfully created
Failed to find glUniformSubroutinesuiv (weird, don't remember seeing this line on Linux, if I remember I'll check)
Supported Opengl version: 3.3.0 NVIDIA 353.06 on GPU: GeForce GTX 970/PCIe/SSE2. Vendor: NVIDIA Corporation
Note: the maximum version supported by GSdx is 3.3 (even if you driver supports more)!

INFO: GL_EXT_texture_filter_anisotropic is available
INFO: GL_ARB_gpu_shader5 is available
INFO: GL_ARB_separate_shader_objects is available
INFO: GL_ARB_shader_subroutine is NOT SUPPORTED
INFO: GL_ARB_shader_image_load_store is available
INFO: GL_ARB_explicit_uniform_location is available
INFO: GL_ARB_copy_image is available
INFO: GL_ARB_buffer_storage is available
INFO: GL_ARB_bindless_texture is NOT SUPPORTED
INFO: GL_ARB_clear_texture is available
INFO: GL_ARB_clip_control is available
INFO: GL_ARB_direct_state_access is available
INFO: GL_ARB_texture_barrier is available

Your driver supports advance depth. Logz will be disabled

@tsunami2311
Copy link

3.x GL context successfully created
Failed to find glUniformSubroutinesuiv
Supported Opengl version: 3.3.0 NVIDIA 353.12 on GPU: GeForce GTX 660/PCIe/SSE2. Vendor: NVIDIA Corporation
Note: the maximum version supported by GSdx is 3.3 (even if you driver supports more)!

INFO: GL_EXT_texture_filter_anisotropic is available
INFO: GL_ARB_gpu_shader5 is available
INFO: GL_ARB_separate_shader_objects is available
INFO: GL_ARB_shader_subroutine is NOT SUPPORTED
INFO: GL_ARB_shader_image_load_store is available
INFO: GL_ARB_explicit_uniform_location is available
INFO: GL_ARB_copy_image is available
INFO: GL_ARB_buffer_storage is available
INFO: GL_ARB_bindless_texture is NOT SUPPORTED
INFO: GL_ARB_clear_texture is available
INFO: GL_ARB_clip_control is available
INFO: GL_ARB_direct_state_access is available
INFO: GL_ARB_texture_barrier is available

Your driver supports advance depth. Logz will be disabled

72b828e that is the build i used I pretty much enabled normal I have since i started using the GSDX Shader

#define UHQ_FXAA 1 
#define BLENDED_BLOOM 1
#define SCENE_TONEMAPPING 1
#define GAMMA_CORRECTION 1
#define TEXTURE_SHARPEN 1
#define PIXEL_VIBRANCE 1
#define S_CURVE_CONTRAST 1
#define DITHERING 1
#define PX_BORDER 1 

Far as i can tell nothing happen from those being on not even scanlines if i enable it which is super visible, if it happen to specific card then we have another issue nvidia cause ( gona need other people with 660gtx win7 to test opengl on there system to see* , switch to DX11 every works fine.

I know i not on the only one that has this issue as another reported the same in the gsdx topic I also tried turning on/off shader cache in NVCP it didnt make difference like said we might need Asmodean

@turtleli
Copy link
Member

Did you have UHQ_FXAA enabled during all your tests? It seems to stop the other effects from working on my system, so try disabling that and testing a few of the effects individually.

My Linux OpenGL results:
NVIDIA 349.16 driver, same settings as I use in Windows.

The "failed to find glUniformSubroutinesuiv" doesn't appear.
UHQ_FXAA - does nothing
DITHERING - can't detect anything.
GAUSSIAN_FILTERING - doesn't work
PX_BORDER - doesn't work.
Everything else has a visible effect. So slightly less effects work in Linux.

@tsunami2311
Copy link

yes i do, cause i use the FXAA and not the built in one, I will test and see

@tsunami2311
Copy link

Ok so after test it is UHQ_FXAA=1 that is stoping the rest of shader options working in opengl if UHQ_FXAA=0 then all the other shaders work. so guess we really need to Asmodean to reapear to take look at why UHQ_FXAA breaks rest of shader options in OpenGL

UHQ_FXAA= breaks rest of shader options if on
PX_Border= it works it just shaves a pixal or 2 off from the sides (usefull when MSAA is used

Is it possible these changes can be added to 2.30 for gsdx in the custom shader topic ?
http://forums.pcsx2.net/Thread-Custom-Shaders-for-GSdx?pid=441430#pid441430

Side not whiles testing this I realized MSAA does not work at all in OpenGL

@gregory38
Copy link
Contributor Author

No msaa hack for opengl on purpose

@tsunami2311
Copy link

ok so that no supposed to work in opengl maybe we should ghost out MSAA option in OpenGL or change the info for MSAA to say it only works in in DX mode.

well atlest we fiqure out what was causing the shader to not work in 2.20 UHQ_FXAA=1 was the reason with it disabled it work as it should now.

I checked 2.30 and made UHQ_FXAA=0 unfortunately i guess what changes you made to 2.20 would have to be applied to 2.30, even then 2.30 might not work cause guess Asmodean says 2.30 is only for D3D gona have to wait for FXAA fix though.

Thanks for all your work gregory

@karasuhebi
Copy link
Contributor

Will MSAA get grayed out for OGL?

@bositman
Copy link
Member

I guess this can be closed as of #739 ?

@gregory38
Copy link
Contributor Author

good guess ;)

@karasuhebi
Copy link
Contributor

ok so that no supposed to work in opengl maybe we should ghost out MSAA option in OpenGL or change the info for MSAA to say it only works in in DX mode.

The info got changed so that it says MSAA is not implemented in the OpenGL renderer but I don't think this is enough. Most people know what MSAA is so they won't look at the description for it so they won't read the part that says that it doesn't work for OpenGL. Either make the sentence stand out more (Maybe all caps and in red?) or gray out the MSAA option when using OpenGL. I still think the option needs to be grayed out.

@tsunami2311
Copy link

I still think we should have GSDX options Menu for DX11/9 etc that shows ONLY the options that work for it and are available for it,

GSDX options menu for opengl that ONLY shows options that work and are available for it. that will cut back on confusion it wont help the people that cant be bothered to read though,

And when I mean by the above is the Options that arnt relevent and usuable in those modes just arent SHOWN, none of this ghosting out stuff, remove said options from said modes it dont apply too.

I still think MSAA should not be in the hack section it not like MSAA dont have compatibility issue with alot PC game engines which is widely know at this point, it no different in pcsx2 it either works correct or has compatibility issue and most the time there are compatibility issue even on pc game engines.

@karasuhebi
Copy link
Contributor

It is a hack though; your injecting hardware-accelerated anti-aliasing into a game that didn't previously have it.

@tsunami2311
Copy link

so is scaling by that respect why is that not under hacks then if scaling is not under hacks neither should msaa, I was told it put there cause it "Breaks" games do to compatibility issue, news flash MSAA breaks pc game engine cause compatibility issue too

@karasuhebi
Copy link
Contributor

Fair point. But to be honest with you, I had never heard of MSAA breaking PC games before. I barely even knew it broke PS2 games in PCSX2. The only ones I'm aware of are the Persona games and I think Kingdom Hearts II?

Let's see what the devs think.

@tsunami2311
Copy link

it dont "break" it has compatibility with issues certain engines like ones that use deferred lighting, and can cause graphically issue, In this respect MSAA in ps2 game or pcsx2 is no different cause they all use difference engines.

I recall Blyss say some space scroll shooter is "broke" if msaa is used but i dont remember what game that was, Een if DOES this no different then what can happen in pc engines that dont play nice with MSAA.

Likes said IF its "hack" then so should "Scaling" cause devs said that is hack too , and scaling cause more issues then MSAA does and is way more apparent then any MSAA issue cause.
but none of this has to do with the shader

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants