Gregory Hainaut
5bf5b5bca4
gsdx-ogl: extend StretchRect to write in depth texture
...
It will allow to convert color texture to depth texture
2015-06-07 12:39:23 +02:00
Gregory Hainaut
2cbde89084
Merge pull request #555 from PCSX2/real-fb-format
...
GSdx: better framebuffer format
2015-06-01 11:48:07 +02:00
Gregory Hainaut
f81cf360bc
Merge pull request #545 from PCSX2/gsdx-half-screen-snow-engine
...
Gsdx half screen (most of) snow engine games
2015-06-01 11:47:40 +02:00
Gregory Hainaut
9fa473a57d
gsdx-ogl: glDebugMessageCallback is optional
...
Not even used in release build
2015-05-31 17:55:34 +02:00
Gregory Hainaut
92d68b70d3
gsdx-ogl: add a performance note for later
...
The idea will be to replace StretchRect for standard case with a framebuffer
blit. Potentially it toggles less gl state.
Worth a test on Star Ocean 3 that uses a lots this function for stencil emulation
2015-05-30 09:58:46 +02:00
Gregory Hainaut
02274601b3
gsdx-ogl: always copy texture into 0,0
2015-05-29 12:18:54 +02:00
Gregory Hainaut
d31bd97d59
gsdx-ogl: add a variable to select FB output
...
Either 32bits/24bits/16bits
2015-05-26 14:59:07 +02:00
Gregory Hainaut
3be5a6036b
gsdx-ogl: remove assertion + debug message
...
opengl use a different object to compute the vertex count
2015-05-26 11:03:59 +02:00
Gregory Hainaut
b0af54d33e
gsdx-ogl: better support of palette
...
The purpose of the code is to support alpha channel
of RT uses as an index for a palette texure.
I'm afraid that code will likely break pure palette texture. Only used
if paltex is enabled
It fixes missing shadow in Star Ocean 3 (issue #374 ) in Native resolution
with filter = 0 (no filtering) or = 2 (normal fitering)
Rendering explanation:
The game emulates a stencil buffer with the alpha channel
The alpha channel of the RT can contains a palette texture index (format 4HH)
The idea is to have a gradient of value in the palette (16/32/48/...).
This way you can implement a +16/-16 and even wrap the alpha value every time
you hit the pixel.
Bilinear filtering breaks the rendering because it interpolates between counts
so you doesn't have the exact count
Upscaling breaks the rendering because the RT is reused as an input texture. It means
that we need to scale it down which again create some interpolations.
2015-05-24 18:07:16 +02:00
Gregory Hainaut
7609fdc576
gsdx: rename too much sr to sRect
2015-05-21 09:48:15 +02:00
Gregory Hainaut
2d54d59add
gsdx-ogl: update assertion ps sel is 8B now
2015-05-20 08:40:08 +02:00
Gregory Hainaut
d3d5a436ea
gsdx-ogl: add code to read back depth texture
2015-05-20 08:07:40 +02:00
Gregory Hainaut
a4c74ef872
gsdx-ogl: disable GL_DITHER
...
I really don't know the impact but it is not supported with integer texture.
2015-05-20 08:05:27 +02:00
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
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
19d9349b0b
gsdx-debug: remove old assert
2015-05-18 16:45:38 +02:00
Gregory Hainaut
79a9254894
gsdx-ogl: print some error messages if extenal shader is wrongly configured
2015-05-18 10:56:32 +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
3f278382a1
gsdx-debug: dump all drawing register
...
Thanks PERL
2015-05-16 11:16:33 +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
a5e424512c
gsdx-ogl: really avoid consecutive clean
2015-05-15 16:00:46 +02:00
Gregory Hainaut
84c3592fbe
gsdx-debug: more debug message/group
2015-05-15 16:00:45 +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
2e34d48e97
gsdx-ogl: add a virtual GetID method for texture
...
Much more readable
2015-05-12 17:41:41 +02:00
Gregory Hainaut
e0012811ae
gsdx-debug: more debug info in gl trace
2015-05-12 12:36:34 +02:00
Gregory Hainaut
4e222f18cd
gsdx-ogl: it was a bad idea to use DSA on fb
...
Actually I'm not sure we can mix both dsa/standard approach
2015-05-11 18:04:16 +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
4e2e9aa56c
gsdx-ogl: always read the first attachment of the fbo
2015-05-11 16:28:34 +02:00
Gregory Hainaut
1523b9534f
gsdx-debug: compact the code
2015-05-11 11:19:00 +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
e87d129b09
gsdx-ogl: more verbose debug
2015-05-08 01:01:01 +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
7518b2ef21
gsdx-gui-linux: add debug option in the gui
...
* Only for debug/dev build
* look awful (expand/fill) but otherwise it is nice for the debug ;)
2015-05-07 23:54:22 +02:00
Gregory Hainaut
ba21879059
gsdx-ogl: 1x aniso <=> off
2015-05-07 22:13:49 +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
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
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