Gregory Hainaut
8d3e3e6c5b
gsdx-ogl: more blend rework to support accurate_colclip
...
So far few blending equations are implemented in PS. It is only
for test the behavior on GoW
2015-05-20 08:00:40 +02:00
Gregory Hainaut
c5341a2711
gsdx-ogl: update blending management
...
This way it will allow to implement all blendings operartion in FS.
Of course it will be slow, but it would be nice for debug and quickly check
game error rendering.
2015-05-20 00:12:52 +02:00
Gregory Hainaut
358e0d445b
gsdx-ogl: add a shader to convert depth texture into uint
2015-05-19 18:56:32 +02:00
Gregory Hainaut
1837001e75
gsdx: extend CopyOffscreen with a new shader parameter
...
Currently we're trying to infer the conversion shader based on the output format
It only works if the input data is RGBA8. It might not be true in the future
2015-05-19 13:14:18 +02:00
Gregory Hainaut
5cfb496700
gsdx-ogl: only open debug file once
2015-05-17 14:43:56 +02:00
Gregory Hainaut
b1ea081fc3
gsdx-debug: improve tracing interface
...
Basically move the format and c_str() in the macro
2015-05-17 13:05:08 +02:00
Gregory Hainaut
c567198967
gsdx-ogl: replaced draw_count by s_n
...
This way error message is aligned with everything else :)
It is not perfect (normally it must be done in start of main draw)
2015-05-16 13:59:13 +02:00
Gregory Hainaut
62e0e6a067
gsdx: remove deprecated code
...
Core was fixed to call GSFifo in the good thread
2015-05-16 13:52:16 +02:00
Gregory Hainaut
28bb64aae8
gsdx: sed/dr/dRect/
2015-05-15 20:49:32 +02:00
Gregory Hainaut
445c28fe97
gsdx: sed/sr/sRect/
2015-05-15 20:47:14 +02:00
Gregory Hainaut
d566bb2a23
gsdx: sed /st/sTex/
2015-05-15 20:45:31 +02:00
Gregory Hainaut
6a9e425308
gsdx: sed /dt/dTex/
2015-05-15 20:44:15 +02:00
Gregory Hainaut
08291aed0c
gsdx-ogl: color state impact the clean command
2015-05-15 15:25:45 +02:00
Gregory Hainaut
b7a9465963
gsdx-ogl: update the device to use the new texture flags
...
Hopefully it will increase a bit the speed
2015-05-12 18:18:20 +02:00
Gregory Hainaut
f37f3cb3cf
gsdx-ogl: improve texture uploading
...
Initially we copy pitch by line in the PBO and tell the dma to only
use the first valid byte.
Now, we only copy useful data to the PBO. It reduce the copy and PBO memory requirement.
It seems a bit faster on native resolution
2015-05-11 16:32:13 +02:00
Gregory Hainaut
921fa3bab8
gsdx-ogl/linux: drop fba option
...
It is useless as DX11
2015-05-11 13:57:26 +02:00
Gregory Hainaut
30e3956ea7
gsdx-ogl: avoid issue with apitrace
...
The tool doesn't support NaN value so be sure the buffer is correctly initialized
2015-05-11 11:19:18 +02:00
Gregory Hainaut
1523b9534f
gsdx-debug: compact the code
2015-05-11 11:19:00 +02:00
Gregory Hainaut
f029e4763f
gsdx-ogl: add the alpha value in a constant buffer
2015-05-09 15:02:34 +02:00
Gregory Hainaut
625d65d4b4
gsdx-ogl: encode the bogus id as shader parameter
2015-05-09 14:55:44 +02:00
Gregory Hainaut
380e420cdd
gsdx-ogl: add a blend parameter to shader
2015-05-08 20:28:50 +02:00
Gregory Hainaut
8e1db43431
gsdx-debug: debug stuff
2015-05-08 19:28:17 +02:00
Gregory Hainaut
1addae1993
gsdx-ogl: don't use extra shader for sprite hack
...
Atst == 2 && sprite_hack is equivalent to Atst == 1
It frees a bit in the shader selector, and reduces shader combinations.
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
51a67029cf
gsdx-ogl: add an option to print gl error messages
2015-05-07 23:54:22 +02:00
Gregory Hainaut
6095f40baf
gsdx-ogl: add the number of free bit in selector structs
2015-05-07 18:41:10 +02:00
Gregory Hainaut
530e4ce776
gsdx-ogl: drop hack that rescale primitive (to avoid upscale glitch)
...
Rendering is bad. It renders sprites at native resolution.
2015-05-06 19:09:13 +02:00
Gregory Hainaut
6d65867b26
gsdx-ogl: comment point_sampler
...
It is not enabled on the shader so I will reuse the bit
2015-05-06 19:09:12 +02:00
Gregory Hainaut
3fcac07120
gsdx-ogl: print some message when blending is not properly supported
2015-05-06 19:09:12 +02:00
Gregory Hainaut
5f5b901bca
gsdx-ogl: alpha bending equation/function are constant
...
Drop useless variables/state checking
2015-05-05 11:20:25 +02:00
Gregory Hainaut
8032e2c369
gsdx-ogl: separate color mask state from the blending state
...
Unlike DX they're uncorrelated.
2015-05-05 10:26:01 +02:00
Gregory Hainaut
14a1925de0
gsdx ogl: date texture is signed to use i variant
2015-05-02 16:53:34 +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
71c26a829e
gsdx-ogl: forget to remove this useless call
...
It is done once in Device Creation instead of per stencil object
2015-05-01 12:10:03 +02:00
Gregory Hainaut
ee19a2789c
gsdx: move invalidation from GSDevice to GSTexture
...
Much cleaner this way
2015-04-30 19:55:57 +02:00
Gregory Hainaut
2bd9043657
gsdx-ogl: improve debug of stencil
...
Note: ENABLE_OGL_STENCIL_DEBUG could be dropped now that I can read the stencil properly
2015-04-30 19:55:57 +02:00
Gregory Hainaut
ee244071fa
gsdx-ogl: use 64 bits counter + fix division factor
...
I also added a counter of the real size of the texture.
I have a bad overhead for pbo transfer
2015-04-25 14:18:21 +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
c207632e49
gsdx-ogl: improve date performance for GL45
...
If there is no overlap, it is allowed to directly read from the render target.
On SotC testcase with 6x scaling: 30fps -> 40fps
Note: it requires GL_ARB_texture_barrier extension so be sure to have a recent driver
Note2: it requires a lots of testing too
Open question: in case of complex date (written alpha)
Will it be faster to split the draw call into multiple call with no
primitive overlap
2015-04-24 21:12:33 +02:00
Gregory Hainaut
795ae50ecd
gsdx-ogl: fix the recently broken advance date feature
...
Now it is really working with a 2 stages shaders but it is still slow.
2015-04-24 20:13:38 +02:00
Gregory Hainaut
672e3f9533
gsdx-ogl: use DSA for texture management
...
Yeah code is much nicer :)
2015-04-24 19:34:17 +02:00
Gregory Hainaut
31f8c065db
gsdx-ogl: implement a new hack UserHacks_UnscaleSprite for opengl
...
UserHacks_UnscaleSprite = 1 will unscale flat sprites
UserHacks_UnscaleSprite = 2 will unscale all sprites (don't work well so far)
The idea of the hack is to redo the interpolation of texture coordinate
based on the non-upscaled pixel position.
It avoids various glitches but sprites aren't upscaled anymore (so no
more anti-aliasing, potentially a coefficient can be added).
2015-04-20 07:18:08 +02:00
Gregory Hainaut
6124eb844e
gsdx-ogl: only compile useful VS
...
logz is a constant
wildhack is only compatbile with TME/FST
Compilation goes down from 64 to 20 vertex shaders.
2015-04-20 07:17:58 +02:00
Gregory Hainaut
418f2e69a8
gsdx-ogl: implement the wildhack on the GPU
...
Likely much faster for opengl and much easier to implement
Note: hopefully UserHacks_round_sprite_offset will replace it
2015-04-13 22:14:36 +02:00
Gregory Hainaut
920ac6695f
gsdx-ogl: add preliminary support of external shader fx
2014-11-10 10:37:58 +01:00
Gregory Hainaut
84f844767c
gsdx-ogl: micro optimize PSConstantBuffer cache
...
Might help to save a cache line on the CPU :)
2014-11-08 21:39:17 +01:00
Gregory Hainaut
6fe9ee387d
gsdx-ogl: optimize the PS cb cache
...
* Don't use the stack
* Don't compare MinMax parameter (depends of others)
* Don't store not-compared parameter in the cache (HalfTexel/MinMax)
+0.3fps/46fps (well better than nothing)
2014-10-02 20:44:22 +02:00
Gregory Hainaut
ccc1137e12
gsdx-ogl: merge the two vertex buffer format
...
* Only a single VAO
=> Format is set once
=> Only a single bind at startup
=> GSVertexBufferStateOGL is nearly useless
=> barely faster but better than nothing :)
2014-10-02 20:44:22 +02:00
Gregory Hainaut
10c7be8c50
gsdx-ogl: Use 32B strides for all VBO
2014-10-02 20:44: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