Commit Graph

151 Commits

Author SHA1 Message Date
lightningterror f14c78cf12 GSdx-ogl: Fix GSdx crashing on Intel igpus
Regression was introduced in #1954
GSdx caused the emulator to crash when the renderer was restarted.

It may have affected older gpus from nvidia/amd
with older OpenGL support as well.
2017-09-06 17:14:21 +02:00
lightningterror 358954d69e GSdx-ogl: Printing console messages v2 (#1954)
GSdx-ogl: Console messages v2

Follow up to
commit/ec63b04719fd9c05a6aeeacb55dc1c54f5ef145b

Add intel broken driver wiki link message in console (OpenGL).
Print intel / amd buggy driver message once in console (OpenGL).
Pring texture barrier and viewpoint array info once in console (OpenGL).
2017-07-02 13:56:45 +02:00
Gregory Hainaut ec63b04719 gsdx: only print once OpenGL status message
All credits go to @lightningterror

Fix #1882
2017-05-11 22:35:31 +02:00
lightningterror 820919c0a9 GSdx ogl sw: Move GL_ARB_copy_image to optional
Move GL_ARB_copy_image to optional for OpenGL SW render.
It will allow Ivy Bridge to work with OpenGL SW as it's not required.

Sandy Bridge is not yet tested , would be nice if someone could test.
2017-04-06 18:14:59 +02:00
Gregory Hainaut 5b91dc45e0 gsdx ogl: reduce requirement for SW renderer
Clip Control is only used for the HW renderer.

It will help Nvidia DX10 GPU on Windows. Potentially old AMD GPU too.
Unfortunately Ivy bridge still misses texture copy

Note on Linux, you can use the free Mesa driver.

Otherwise, it is time to save money for a future upgrade :)
2017-04-04 18:37:26 +02:00
lightningterror 6977658443 GSdx ogl: SSO Workaround for AMD buggy drivers (#1858)
GSdx ogl: SSO Workaround for AMD buggy drivers

All 2017 drivers are now blacklisted.
The BSOD/crash issue is still there so don't set Blending Accuracy to None!
Shortened the message in the console making it more appealing.
2017-03-28 23:02:19 +02:00
Gregory Hainaut cdb71101a1 gsdx ogl: As Intel is too cheap to provide GL_ARB_direct_state_access on theirs expensive iGPUs
Add a "slower" emulation of the extension...

Hopefully it will allow to start openGL on haswell (maybe broadwell) and later.
2017-02-17 17:44:26 +01:00
Gregory Hainaut 26993380b1 gsdx-ogl: black list 2016/2017.1 AMD driver
Based on AMD feedback, I'm might blacklist all 2017 drivers too.
2017-02-17 17:32:53 +01:00
Gregory Hainaut d0b1162b15 gsdx ogl: drop fallback of GL_ARB_clear_texture
Mesa AMD was updated :)

all drivers[1] that support GL_ARB_shader_image_load_store got GL_ARB_clear_texture

[1] Intel driver misses others extensions to run GSdx
2017-02-03 21:56:24 +01:00
Gregory Hainaut 63944e8c43 gsdx ogl: allow to start without GL_ARB_texture_barrier
Rendering will be corrupted (for advance effects) if the driver doesn't support it.
However it allow to run with Mesa software emulation (or inside a virtual machine)

Note: mesa still requires an override of the buffer storage extension
MESA_EXTENSION_OVERRIDE=GL_ARB_buffer_storage
2017-02-03 21:56:24 +01:00
lightningterror f0393e50c2 GSdx: Windows gui updates (#1768)
* Rename CRC Hack Level "Full (Safest)" to "Full (Direct3D Recommended)"
* add link/info of AMD driver epic fail status
2017-01-27 11:00:23 +01:00
Gregory Hainaut 81adc3ef4d gsdx ogl: don't use per buffer blending
It increases the number of state that driver must handle.
2017-01-20 18:22:52 +01:00
Gregory Hainaut 885ef7a46f gsdx ogl: reduce complexity of driver detection 2016-10-23 12:43:50 +02:00
Gregory Hainaut 565cb70875 gsdx ogl: don't request arb_texture_barrier for the SW renderer
Allow[1] to use the mesa software emulated driver to test EGL.

[1] also need export MESA_EXTENSION_OVERRIDE="GL_ARB_buffer_storage"
2016-10-23 12:13:57 +02:00
Gregory Hainaut 1b9b47dd6a gsdx mipmap:ogl: add capabilities to automatically generate mipmap layer 2016-10-13 20:16:38 +02:00
Gregory Hainaut b546d096bd Finally AMD delivered the fix to support separate shader object !!!
v2: blacklist AMD driver from the start of 2016
Please note that it is highly recommended to upgrade to a stable&working driver
2016-09-01 09:47:57 +02:00
Gregory Hainaut 82d83ca579 gsdx: dull driver
Hopefully futur low-end GPU will get 4GB of VRAM
2016-07-08 21:53:42 +02:00
Gregory Hainaut df4645a84a gsdx ogl: Don't use NV extension on AMD
potentially the NV extension is wrongly used but can't test it with the free driver
2016-07-07 23:48:56 +02:00
Gregory Hainaut d8050634f6 gsdx ogl: plug GL_NVX_gpu_memory_info and GL_ATI_meminfo
to query available memory on the GPU

Requirement
* dedicated GPU (ofc!)
* proprietary driver. Free driver supports r600, radeonsi
2016-07-07 22:05:15 +02:00
Akash 4cfb2b248e GSDX: Clean up warnings on MSVC
GLLoader: cast passed parameters to required type.
GSDeviceOGL: cast variables to required type and silence warnings.
GSRendererOGL: cast variables to required type and silence warnings.
2016-06-30 16:50:10 +05:30
Gregory Hainaut d7c1faf563 gsdx ogl: add GPU timers to measure time between 2 vsync
So far only basic stuff (min/mean/max frame rendering time)
2016-06-26 15:34:36 +02:00
Gregory Hainaut ff3d9bd373 gsdx ogl: add function pointer to name object
It could be nice to ease debug
2016-06-09 18:27:58 +02:00
Gregory Hainaut 08a8bfa76c gsdx ogl: plug new program compilation for bad driver 2016-06-01 21:00:29 +02:00
Gregory Hainaut 538bb418ce gsdx ogl: revert the removal of single shader compilation function pointer
(It doesn't mean I will drop SSO but that I will do some tests one day)
2016-06-01 09:29:56 +02:00
Gregory Hainaut 9c8b5e37a4 gsdx ogl: blacklist AMD 2015 drivers 2016-05-29 18:21:12 +02:00
Gregory Hainaut 58f04975e1 oups fix link 2016-05-28 18:49:49 +02:00
Gregory Hainaut 179681ef18 gsdx ogl: enable AMD driver blending workaround only on latest legacy driver
Legacy GPU:
Older driver will be broken.

Still supported GPU:
Please upgrade to the latest AMD driver 16.5.2 or 16.5.3 (and prey that future driver will still work)
2016-05-28 18:43:55 +02:00
Gregory Hainaut a9c18c57e4 gsdx option: use the new GetConfig* function
v2:
add PSX stuff
ssakash review
2016-05-28 10:07:27 +02:00
Gregory Hainaut fa921215d9 gsdx ogl: add GL_ARB_get_texture_sub_image extension support
could help to read back a portion of a texture
2016-05-16 18:58:33 +02:00
Gregory Hainaut caacb1dc9f gsdx-ogl: add texure clear function (GL4.4) 2016-05-15 14:57:11 +02:00
Gregory Hainaut cd9ee3c468 gsdx ogl: emulate GL_ARB_draw_buffers_blend and GL_ARB_viewport_array
New functions only set the parameter to a single buffer whereas old function
set all buffers
2016-05-14 17:15:30 +02:00
Gregory Hainaut 8217c717f6 gsdx-ogl: require GL_KHR_debug
Will reduce the slowdown on debug build
2016-04-21 09:28:44 +02:00
Gregory Hainaut 9598417f42 gsdx-ogl: GL_ARB_copy_image is now mandatory 2016-04-21 09:28:44 +02:00
Gregory Hainaut 99bccc6dff gsdx-ogl: remove the geometry shader blacklist for Gallium Mesa drivers 2016-04-21 09:28:44 +02:00
Gregory Hainaut 7aaf36d24d gsdx ogl: add function pointer for framebuffer no attachment extension
Could be useful in the future
2016-04-10 11:31:40 +02:00
Gregory Hainaut d533c393b2 gsdx ogl: rely on DSA API 2016-04-10 11:31:40 +02:00
Gregory Hainaut b9e8384c11 gsdx-ogl: move the mandatory extension into mandatory section 2016-04-07 22:29:35 +02:00
Gregory Hainaut 121e92a829 gsdx ogl: remove a now useless warning message 2016-04-07 22:28:11 +02:00
Gregory Hainaut cef76de547 gsdx ogl: GL_ARB_direct_state_access is now mandatory 2016-04-07 22:27:28 +02:00
Gregory Hainaut a62019a3fd gsdx-ogl: found_GL_ARB_buffer_storage is now mandatory 2016-04-07 22:17:22 +02:00
Gregory Hainaut 52e3c3516d gsdx-ogl: GL_ARB_separate_shader_objects is now mandatory 2016-04-07 22:11:35 +02:00
Gregory Hainaut f751f70b1e gsdx ogl: GL_ARB_clip_control is now mandatory 2016-04-07 21:57:54 +02:00
Gregory Hainaut dfb4b5a339 gsdx-ogl: GL_ARB_texture_barrier is now mandatory
(GL4.5 extension)
2016-04-07 21:51:37 +02:00
Gregory Hainaut 95ef4e20f8 gsdx-ogl: load GL_ARB_viewport_array function pointer for the future 2016-03-12 15:52:36 +01:00
Gregory Hainaut 56c2e94daf gsdx-ogl: sort extension requirement
All GL4 extensions supported by DX10 class GPU will be soon mandatory

Namely:
* GL_ARB_copy_image
* GL_ARB_texture_barrier
* GL_ARB_clip_control
* GL_ARB_direct_state_access
* GL_ARB_separate_shader_objects
* GL_ARB_buffer_storage
2016-03-12 15:52:36 +01:00
Gregory Hainaut 7b8616ac7b gsdx-ogl: add function pointer for query object 2016-03-06 13:39:24 +01:00
Gregory Hainaut 841df74010 gsdx: add info to get a working driver 2016-01-28 21:18:24 +01:00
Jonathan Li 0f11838d93 gsdx: s/_WINDOWS/_WIN32/
It's the proper Windows preprocessor macro.
2016-01-27 22:41:45 +00:00
Gregory Hainaut da4d3562f5 gsdx-ogl: update status of the SSO extension
AMD (proprietary) is working on it
Free driver will be fixed on Mesa 11.2 (and I hope mesa 11.1.2)
2016-01-22 09:28:59 +01:00
Gregory Hainaut 7aae0ce394 gsdx ogl: minor string update 2016-01-01 14:43:47 +01:00