Gregory Hainaut
8c8fe633a5
gsdx-ogl: merge 3 accurate* option into a nice combobox
...
It is much easier to configure this way
2015-07-30 18:21:00 +02:00
Gregory Hainaut
b4c04ed00a
gsdx-ogl: wipeout subroutine code
...
Code was completey bitrotten
Code was a partial test (and yet 500 lines already)
Shader is more and more complex and multithreading support greatly
reduce the cost of shader switch
2015-07-17 21:08:49 +02:00
Gregory Hainaut
e245b27c97
gsdx-ogl-debug: allow to dump various ps shader
...
Nvidia allows to get the ASM of the shader of the compiled shader. It is useful
to check the performance.
It also allow me to compile most of shader code path for QA
Dump is enabled in linux replayer + debug_glsl_shader = 2
2015-07-17 21:08:48 +02:00
Gregory Hainaut
6ed137dc9c
gsdx-ogl: log openGL driver version
2015-07-13 12:35:55 +02:00
Gregory Hainaut
50c9988018
gsdx-ogl: disable all accurate options when not supported + No Intel support on windows
2015-07-01 09:36:54 +02:00
Gregory Hainaut
f3c0c1bb88
gsdx-ogl: TexParamami is provided in core
2015-06-25 10:25:57 +02:00
Gregory Hainaut
8393ba56d6
gsdx-ogl: rework palette texture handling
...
Redirect the red channel to alpha channel for 8 bits texture.
It avoid special management in the shader
2015-06-24 19:50:09 +02:00
Gregory Hainaut
263583ebcc
Revert "gsdx-ogl: enable again geometry shader on Mesa"
...
This partially reverts commit e774fecb77
.
Fix issue #605
2015-06-16 18:33:22 +02:00
Gregory Hainaut
237ffcf796
gsdx-ogl: Make GL_ARB_draw_buffers_blend optinal for limited DX10 drivers
2015-06-10 22:55:27 +02:00
bositman
1de58349c5
Bleh
2015-06-06 22:39:34 +03:00
bositman
8d61ab2af2
OpenGL printf wording corrections, removed Shadow Hearts CRC (not used anymore in GSstate)
...
Some minor grammar fixes to OpenGL prints and removed Shadow Hearts CRC
which has been left behind
2015-06-06 22:28:59 +03:00
Gregory Hainaut
e774fecb77
gsdx-ogl: enable again geometry shader on Mesa
...
Please use a recent Mesa version (10.5 if possible)
2015-06-05 18:59:10 +02:00
Gregory Hainaut
a639634769
gsdx-ogl: actually code use 4.0 GL_ARB_draw_buffers_blend
...
It is used for glBlendEquationSeparateiARB && gl_BlendFuncSeparateiARB
The 3.0 function could work too. It just need to be added
2015-05-30 09:58:46 +02:00
Gregory Hainaut
99d7434671
gsdx-ogl: disable SSO on nouveau
2015-05-24 19:24:10 +02:00
Gregory Hainaut
7f614401a6
gsdx-ogl: set accurate_blend as default
...
Rendering is better and I think speed impact remains small.
2015-05-23 15:10:04 +02:00
Gregory Hainaut
a1bfb237e6
Partially Revert "gsdx-ogl: drop support of GL_ARB_clear_texture extension"
...
This reverts commit 03e72781aa
.
Let's add back the clean texture pointer
I want to test it on
1/ DSA
2/ MT driver
2015-05-16 00:31:25 +02:00
Gregory Hainaut
4e2e9aa56c
gsdx-ogl: always read the first attachment of the fbo
2015-05-11 16:28:34 +02:00
Gregory Hainaut
5565544ba6
gsdx-ogl: DATE with texture barrier
...
Much faster for small batch that write the alpha value. Code can
be enabled with accurate_date option.
Here a summary of all DATE possibilities:
1/ no overlap of primitive
=> texture barrier (pro no setup of stencil and single draw)
2/ alpha written
=> small batch => texture barrier (primitive by primitive). Done in N-primitive draw calls.
(based on GL_ARB_texture_barrier)
=> bigger batch => compute the first good primitive, slow but only 2 draw calls.
(based on GL_ARB_shader_image_load_store)
=> Otherwise there is the UserHacks_AlphaStencil but it is a hack!
3/ alpha written
=> full setup of stencil ( 2 draw calls)
2015-05-09 19:54:01 +02:00
Gregory Hainaut
3c7a3a3d83
gsdx-ogl: disable accurate option if driver doesn't support it
2015-05-09 18:41:17 +02:00
Gregory Hainaut
b490085214
gsdx-ogl: add 2 options in the GUI to ease testing
...
accurate_date => use an emulated stencil to compute destination alpha
test (could be slow)
accurate_blend => do nothing (future)
2015-05-08 19:28:16 +02:00
Gregory Hainaut
d6448183d7
gsdx-ogl-debug: insert error message in GL stream
...
This way, you can see your message in the GL debugger
2015-05-08 00:16:31 +02:00
Gregory Hainaut
cc4713d379
gsdx-debug: extend ogl debug capabilities
...
Group opengl calls into a nice name.
Apitrace shows them in a tree format that support folding. Previously it
was a long flat list (10K-40K of lines by frame)
I align the call number with the internal s_n variable. This way it is
easy to map GSdx dump output with the GL debugger :)
2015-05-06 19:09:13 +02:00
Gregory Hainaut
b1ec8a5a42
gsdx-ogl: detect support of GL_EXT_texture_filter_anisotropic
2015-05-02 10:53:19 +02:00
Gregory Hainaut
335695bd0e
purge GLES from GSdx !
...
mobile will use vulkan (or any new API) anyway
2015-05-01 20:02:17 +02:00
Gregory Hainaut
2ff3d17f67
gsdx-ogl: don't create override option for mandatory extension
...
Ini is alredy big enough
2015-05-01 14:18:05 +02:00
Gregory Hainaut
757726bb91
gsdx-ogl: allow to invalidate the texture
...
It just a hint to the driver to avoid any useless transfer
I don't expect any change but it is free so why not ;)
2015-04-25 12:50:12 +02:00
Gregory Hainaut
75817bb27b
gsdx-ogl: add a quick and dirty DSA layer emulation
...
The global idea is to use
1/ bind in tight loop
2/ DSA otherwise (to avoid any binding in tight loop)
2015-04-25 12:50:11 +02:00
Gregory Hainaut
eb257d9295
gsdx-ogl: add dsa function place holder
2015-04-25 12:50:11 +02:00
Gregory Hainaut
baf84b98c4
gsdx-ogl: add override_GL_ARB_texture_barrier option
...
To ease regression test.
2015-04-25 09:59:25 +02:00
Gregory Hainaut
b12eb45bb7
gsdx-ogl: try to avoid crash on fglrx windows
2015-04-25 09:50:19 +02:00
Gregory Hainaut
f0182f9a66
windows requires APIENTRY (=> stdcall)
2015-04-25 01:32:09 +02:00
Gregory Hainaut
6d31d1e0d0
gsdx-ogl: add a layer to emulate DSA for texture
...
Framebuffer function will be nice too
2015-04-24 19:32:00 +02:00
Gregory Hainaut
f71eb171cf
gsdx-ogl: add glTextureBarrier function pointer
...
Could be useful
2015-04-24 18:35:01 +02:00
Gregory Hainaut
03e72781aa
gsdx-ogl: drop support of GL_ARB_clear_texture extension
...
Extension is a bit slower.
We use it to clear the RT but we generally use it right away so
we don't avoid the FB attachment.
2015-04-24 18:15:58 +02:00
Gregory Hainaut
f6652e9a50
gsdx-ogl: disable slow and buggy code until I found a better solution
...
ogl_texture_storage 1 creates texture corruption.
Advance date is too slow, code need to be updated (properly) to uses 2 passes only not 3
Maybe one could be enough (sometimes)
2015-04-22 09:33:41 +02:00
Gregory Hainaut
cebccea81c
gsdx: disable some gl extensions when VMware driver is detected
...
It is likely the Mesa driver, code seems to have the same issue (separate shader)
2014-12-12 20:44:58 +01:00
Gregory Hainaut
3311336d0e
gsdx-ogl: disable ARB_bindless_texture
...
I have a crash when I try to delete some texture (for example when the simulator is paused)
2014-11-11 23:45:41 +01:00
Gregory Hainaut
47f40ed79a
gsdx-ogl: reduce pbo complexity
...
Copy the full line into the pbo. Dma will only take GL_UNPACK_ROW_LENGTH
- increase memcpy size by 2 in the pbo
+ single memcpy will be faster and can use sse
Enable buffer_storage extension:
* GL_CLIENT_STORAGE_BIT was required (it is the duty of TexSubImage to copy data into the GPU mem)
* Enable the extension by default
2014-11-08 21:30:14 +01:00
Gregory Hainaut
a573ce185c
gsdx-ogl: mark GL_EXT_shader_io_blocks as mandatory for GLES
2014-10-02 20:44:22 +02:00
Gregory Hainaut
d37cc8e1e7
gsdx-ogl: GL_ARB_shading_language_420pack is now mandatory
...
All API/drivers support it so time to remove the fallback.
2014-10-02 20:44:22 +02:00
Gregory Hainaut
f46e8cc6ac
gsdx-ogl: bump base requirement to 3.3
...
A couple of fallbacks were introduced for the Mesa driver that only support 3.0
DSA will require a recent Mesa which already support GL3.3
Require at least SandyBridge for Intel GPU
2014-09-30 22:18:20 +02:00
Gregory Hainaut
594f6c33a2
gsdx-ogl-ES: require GL_EXT_shader_io_blocks + GLES3.1
...
Allow to use same shader interface for all API
Note: on the GL API it will require GL3.3 (see next commit)
2014-09-30 22:18:01 +02:00
Gregory Hainaut
8833afc2fa
gsdx-ogl: drop GL_ARB_multi_bind
...
It will be replaced by DSA so let's reduce the complexity of opengl
2014-09-28 12:23:44 +02:00
Gregory Hainaut
fa43018d10
gsdx-ogl: no DSA isn't mandatory yet...
2014-09-28 12:11:22 +02:00
Gregory Hainaut
1e86e3cb08
gsdx-ogl: rework callback debug
...
* use DebugOutputToFile as a callback of gl error. Add a breakpoint to
find the culprit GL call
* use string instead of char[n]
Note: CheckDebugLog is potentially useless now
2014-09-28 12:00:34 +02:00
Gregory Hainaut
b7601a9add
gsdx-ogl: Enable various GL4+ extensions
...
* GL_ARB_clip_control: reduce z fighting
* GL_ARB_clear_texture: no real speed gain (but improve code quality)
* GL_ARB_bindless_texture: +1fps (if you're CPU limited)
2014-09-28 12:00:34 +02:00
Gregory Hainaut
9d8d702aa6
gsdx-ogl: drop GL_NV_depth_clamp extension
...
superseeded by GL_ARB_clip_control
2014-09-28 12:00:34 +02:00
Gregory Hainaut
d720cc16a6
gsdx-ogl: gl4.5: add plumbering to support direct_state_access and clip_control
2014-09-28 12:00:33 +02:00
Matteo Beniamino
15c487e547
GSdx: fixed use of separate shader objects for Intel driver.
2014-08-23 17:09:38 +02:00
Gregory Hainaut
ef0e3fe6c6
gsdx: disable separate shader on radeon driver (linux)
2014-07-19 14:02:37 +02:00