PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.76k stars 1.62k forks source link

GSdx-ogl + nouveau + 260GTX + mesa 11.2.2: buggy driver detected #1361

Closed Soukyuu closed 8 years ago

Soukyuu commented 8 years ago

Testing how pcsx2 would run on nouveau to work around #1355 and I'm getting

Buggy driver detected. Geometry shaders will be disabled
Buggy driver detected, GL_ARB_separate_shader_objects will be disabled
Note the extension will be fixed on Mesa 11.2 or 11.1.2.

Well, my mesa version is already 11.2.2, I guess it didn't get fixed?

local/lib32-mesa 11.2.2-1
    an open-source implementation of the OpenGL specification (32-bit)
local/lib32-mesa-libgl 11.2.2-1
    Mesa 3-D graphics library (32-bit)
local/mesa 11.2.2-1
    an open-source implementation of the OpenGL specification
local/mesa-libgl 11.2.2-1
    Mesa 3-D graphics library

Overriding doesn't seem to do anything, the text in ar tonelico 2 is lacking any alpha, so it's all blocks. At least it runs better than with the nvidia blob in hardware mode...

gregory38 commented 8 years ago

Geometry shader has only an impact (positive or negative) on the speed. Maybe it is a gui issue. Check GSdx.ini file. -1 means auto, 0 disabled, 1 enableed.

Could you post a screenshot of a AT2. It could be a gsdx bug when I made the copy to legacy repository.

gregory38 commented 8 years ago

Oh by the way, you don't need to use the legacy branch with nouveau. You could use the full and latest version.

Soukyuu commented 8 years ago

Same on non-legacy branch: image

edit: but the "buggy driver" message is gone

Soukyuu commented 8 years ago

The text issue is fixed by setting blending unit accuracy to anything above basic, but the black areas around text boxes and other textures stay even if I go up as high as Ultra.

gregory38 commented 8 years ago

Could you post your current GSdx.ini file.

gregory38 commented 8 years ago

My guess is a bad setup of accurate date or the extension load_store_image shader.

mirh commented 8 years ago

Couldn't it have something to do with how NV50 driver still lacks Geometry shader instancing and multiple streams ?

Also, I can't understand why mesa_amd_buggy is triggered by nouveau.

gregory38 commented 8 years ago

1/ you won't win with a random keyword ;) Those features aren't used. So it is either a bad conf or a bug in the driver 2/ both driver, due to gallium, often shares the same bug. Beside the detection is done with the vendor string name. I don't run an opengl testsuite to detect working driver ;) It was a temporary solution anyway.

Soukyuu commented 8 years ago

Accurate date requires openGL 4.2 (or at least it says so) and I don't have that (3.3 only).

GSdx.ini.txt

Soukyuu commented 8 years ago

Should've posted this too, probably:

Current Renderer: OpenGL (Hardware mode)
glX-Version 1.4 with Direct Rendering
OpenGL information. GPU: Gallium 0.4 on NVA0. Vendor: nouveau. Driver: (Core Profile) Mesa 11.2.2
INFO: GL_EXT_texture_filter_anisotropic is available
INFO: GL_ARB_gpu_shader5 is NOT SUPPORTED
INFO: GL_ARB_draw_buffers_blend is NOT SUPPORTED
INFO: GL_ARB_viewport_array is available
INFO: GL_ARB_shader_image_load_store is NOT SUPPORTED
INFO: GL_ARB_clear_texture is available
gregory38 commented 8 years ago

Hum. Did you enable safe fbmask hack? Please try without it. (I don't remember if the gui checkbox still exists, otherwise delete the line in the ini) If you still have issue, could you try to generate an apitrace trace. This way I could replay it on my side and confirm the driver bug.

gregory38 commented 8 years ago

And it might worth to check accurate date. It could partially work with your gpu.

Soukyuu commented 8 years ago

Right, I did set that flag. But that was me trying to test if it would go away if I did - it doesn't affect anything though.

I also tried accurate date, no change. Here is the apitrace: click

gregory38 commented 8 years ago

Could you replay the trace on your side, to be sure you do have the issue on the trace.

Edit: trace was generated on the SW renderer. Do you have the bug on HW or SW renderer?

Soukyuu commented 8 years ago

Yes, it did. It also shows an error message in the terminal:

apitrace32 replay PCSX2.trace
452: message: shader compiler issue 1: type: 0, local: 0, gpr: 4, inst: 14, bytes: 112
453: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 5, bytes: 24
458: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 23, bytes: 160
463: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 9, bytes: 56
468: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 9, bytes: 56
473: message: shader compiler issue 1: type: 1, local: 0, gpr: 8, inst: 34, bytes: 240
478: message: shader compiler issue 1: type: 1, local: 0, gpr: 8, inst: 20, bytes: 136
483: message: shader compiler issue 1: type: 1, local: 0, gpr: 8, inst: 71, bytes: 528
488: message: shader compiler issue 1: type: 1, local: 0, gpr: 5, inst: 9, bytes: 56
493: message: shader compiler issue 1: type: 1, local: 0, gpr: 8, inst: 53, bytes: 392
498: message: shader compiler issue 1: type: 1, local: 0, gpr: 5, inst: 36, bytes: 240
503: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 10, bytes: 56
508: message: shader compiler issue 1: type: 1, local: 0, gpr: 7, inst: 27, bytes: 192
513: message: shader compiler issue 1: type: 1, local: 0, gpr: 5, inst: 25, bytes: 184
518: message: shader compiler issue 1: type: 1, local: 0, gpr: 5, inst: 10, bytes: 64
523: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 9, bytes: 56
528: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 8, bytes: 48
533: message: shader compiler issue 1: type: 1, local: 0, gpr: 5, inst: 18, bytes: 128
538: message: shader compiler issue 1: type: 1, local: 0, gpr: 11, inst: 78, bytes: 592
547: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 6, bytes: 32
552: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 6, bytes: 32
561: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 11, bytes: 80
566: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 11, bytes: 80
571: message: shader compiler issue 1: type: 1, local: 0, gpr: 11, inst: 26, bytes: 168
576: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 5, bytes: 24
581: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 5, bytes: 24
609: message: shader compiler issue 1: type: 2, local: 0, gpr: 29, inst: 165, bytes: 1320
610: message: shader compiler issue 1: type: 2, local: 0, gpr: 23, inst: 160, bytes: 1280
611: message: shader compiler issue 1: type: 0, local: 0, gpr: 6, inst: 35, bytes: 280
612: message: shader compiler issue 1: type: 0, local: 0, gpr: 6, inst: 39, bytes: 312
613: message: shader compiler issue 1: type: 0, local: 0, gpr: 6, inst: 37, bytes: 296
614: message: shader compiler issue 1: type: 0, local: 0, gpr: 6, inst: 41, bytes: 328
615: message: shader compiler issue 1: type: 0, local: 0, gpr: 6, inst: 37, bytes: 296
616: message: shader compiler issue 1: type: 0, local: 0, gpr: 6, inst: 41, bytes: 328
617: message: shader compiler issue 1: type: 0, local: 0, gpr: 6, inst: 35, bytes: 280
618: message: shader compiler issue 1: type: 0, local: 0, gpr: 6, inst: 39, bytes: 312
620: message: shader compiler issue 1: type: 1, local: 0, gpr: 8, inst: 46, bytes: 320
653: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 6, bytes: 32
653: message: shader compiler issue 1: type: 0, local: 0, gpr: 4, inst: 20, bytes: 160
664: message: shader compiler issue 1: type: 1, local: 0, gpr: 8, inst: 14, bytes: 80
13310: message: shader compiler issue 1: type: 0, local: 0, gpr: 4, inst: 5, bytes: 40
13310: message: shader compiler issue 1: type: 1, local: 0, gpr: 4, inst: 19, bytes: 128
13339: message: shader compiler issue 1: type: 1, local: 0, gpr: 21, inst: 131, bytes: 824
13368: message: shader compiler issue 1: type: 1, local: 0, gpr: 13, inst: 80, bytes: 560
13383: message: major api error 2: GL_INVALID_OPERATION in glBlendFunc[Separate]i()
13383 @0 glBlendFuncSeparateiARB(buf = 0, srcRGB = GL_ONE, dstRGB = GL_ONE, srcAlpha = GL_ONE, dstAlpha = GL_ZERO)
13383: warning: glGetError(glBlendFuncSeparateiARB) = GL_INVALID_OPERATION
13386: message: shader compiler issue 1: type: 1, local: 0, gpr: 18, inst: 112, bytes: 704
13396: message: shader compiler issue 1: type: 1, local: 0, gpr: 10, inst: 61, bytes: 424
14614: message: shader compiler issue 1: type: 1, local: 0, gpr: 14, inst: 88, bytes: 536
14624: message: shader compiler issue 1: type: 1, local: 0, gpr: 8, inst: 37, bytes: 264
15233: message: shader compiler issue 1: type: 1, local: 0, gpr: 17, inst: 107, bytes: 656
111196: message: shader compiler issue 1: type: 1, local: 0, gpr: 9, inst: 45, bytes: 304
Rendered 902 frames in 15.2432 secs, average of 59.1738 fps
gregory38 commented 8 years ago

Ok. I have the bug.

Edit: I will try to fix it for tomorrow.

gregory38 commented 8 years ago

Please try latest git.

Soukyuu commented 8 years ago

Yes, that fixed it, thanks!