Gregory Hainaut
ca9b5ce11d
gsdx-ogl: move depth conversion shader
...
Add 2 new shaders:
* ps_main12: cast a 16 bit depth to a RGB5A1 color
* ps_main16: cast a a RGB5A1 color to a 16 bit depth
Shader might be used in future commit as it seems Silent Hill uses this
kind of format.
Fix tab/indentation too
2015-09-08 12:41:05 +02:00
Gregory Hainaut
4eed4ca3a1
gsdx-debug: restore 16 bit dump format in the SW renderer
...
Actually dump both 32/16 bits (former for texture shuffle and later
for real 16 bits RT)
2015-09-08 12:41:05 +02:00
Jonathan Li
9052930ebc
Merge pull request #791 from turtleli/gsdx-gui-changes
...
Add tooltips to Windows GUI. Fixes #578 .
Rearrange Window GSdx GUI a bit.
Reformat tooltip descriptions to be both Linux and Windows (un)friendly.
Add new tooltip descriptions.
2015-09-03 22:49:41 +01:00
Jonathan Li
e5f045c375
gsdx: Add new tooltips and descriptions.
...
For Linux and Windows, add tooltip descriptions for AF, AA1, extra
rendering threads, Enable Shade Boost, FX Shader/External Shader, FXAA.
For Windows, also add Alpha Correction and Logarithmic Z tooltips.
For Linux, add software mipmap tooltip.
Thanks to tsunami2311, ssakash, gregory38 and whoever did the wiki for
helping with descriptions.
2015-09-01 19:25:28 +01:00
Jonathan Li
55adc7e728
gsdx: tooltip description formatting and minor fixes
...
The hack description box messages were replaced by tooltips on Windows,
so there is no need for the first line in the description to refer to
the hack anymore.
3-state checkboxes were also converted to comboboxes, so remove any
references to checkbox states.
Reformat the descriptions so it looks okay on both Windows and Linux.
Could be better, but I'm out of ideas.
Also fix a few typos and missing punctuation.
2015-09-01 19:25:27 +01:00
Jonathan Li
b687b106f1
gsdx: Removed unnecessary defines and functions
...
The changes to the Hacks dialog removes the need for these defines.
Also remove the swap_state function since it's now unused.
2015-09-01 19:25:26 +01:00
Jonathan Li
c72b4d6e8a
gsdx:windows: Rework hacks dialog to use tooltips
...
Changes the three-state checkboxes to comboboxes.
Removes the hack description box.
Hides Alpha and Alpha Stencil when OpenGL is selected.
Rearranges the hacks dialog.
2015-09-01 19:25:26 +01:00
Jonathan Li
fcc8a941b0
gsdx:windows: Redo main dialog
...
This moves the hardware, non-renderer dependent options to the top and
makes the renderer options visible only when it affects the current
renderer.
The texture filtering checkbox has been changed to a combobox and now
uses the same description as Linux does.
Also changes the Title to GSdx Settings.
2015-09-01 19:25:25 +01:00
Jonathan Li
e6b9805167
gsdx:windows: Show tooltips on main dialog
2015-09-01 19:25:25 +01:00
Jonathan Li
48bba4d581
gsdx:windows: Add tooltip support
...
Tooltips will be usable for all Gsdx dialogs if required.
2015-09-01 19:25:24 +01:00
Gregory Hainaut
bdc8038e7e
glsl: set a size to gl_ClipDistance array
...
The purpose is to avoid issue on MS-Intel driver without
a dedicated hack in the compilation.
Code doesn't use it so I suspect others implement to discard the
statement.
2015-08-25 18:58:39 +02:00
Gregory Hainaut
a1957a685d
glsl: drop an useless min in FS
...
GPU will clamp color anyway. It reduces the number of instruction of 25% (4->3)
2015-08-25 18:58:39 +02:00
Jonathan Li
6f6a7b92e4
gsdx:windows: Move CRC box to main dialog
...
The CRC hack option is always used regardless of whether the HW Hack
checkbox is ticked. Move it to the main gsdx dialog and make it use the
same descriptions that are used in Linux.
And fix the accurate_blend_unit whitespace formatting.
2015-08-23 14:04:09 +01:00
Gregory Hainaut
bfadd884c9
glsl: expand tab into space
...
The mix of the 2 was awful
2015-08-22 13:34:02 +02:00
Gregory Hainaut
a46c11b088
gsdx-ogl: delete various leftovers
2015-08-22 13:33:32 +02:00
Gregory Hainaut
7002ff3ec3
gsdx-ogl: move texture scale from vs_cb to fs_cb
...
It avoid useless update of the vs_cb.
2015-08-22 13:33:04 +02:00
Gregory Hainaut
499206f0ea
gsdx-ogl: disable advance rendering when drivers don't support it
2015-08-22 12:22:35 +02:00
Gregory Hainaut
d9cf326879
gsdx: windows requires a static cast
2015-08-22 12:22:35 +02:00
Jonathan Li
6e826d5193
Merge pull request #754 from ssakash/patch-45
...
gsdx: little changes on AF value behavior.
2015-08-21 11:29:49 +01:00
Akash
111653833f
AF checkbox status depends on paltex.
...
according to some of the internal functions in GSDevice files, Anisotropic Filtering is only done when paltex is disabled. do the same on the GUI for user awareness.
2015-08-21 15:50:13 +05:30
Akash
3c9ca799a6
Remove anisotropic filtering checkbox value.
...
Removes the checkbox of Anisotropic filtering from the GSDX plugin settings, the checkbox was usually used to enable & disable the AF which is not necessary since there is an option in the drop down list for disabling AF.
the internal function value of "AnisotropicFiltering" has been replaced with "MaxAnisotropy" for detection.
the detection uses the function getconfig("MaxAnisotropy", value) where value 0 means disabled and value is the default value when no value is set in the INI file.
2015-08-21 09:45:00 +05:30
refractionpcsx2
60a90aa51c
GSdx-dx11: Another attempt at the nvidia hack, changing the viewport top left slightly also seems to alleviate the issue. Lets see how well this goes down.
...
At worst things will look zoomed out by like, a pixel :P
2015-08-20 23:45:26 +01:00
Gregory Hainaut
37f9bcf9cb
gsdx-ogl: reduce state change
...
* don't dirty aref when a fog color is uploaded
* only set clamp mode in clamp mode (region clamp is handled in shader)
v2: fix SSE2/3 compilation
2015-08-20 23:01:43 +02:00
Gregory Hainaut
c5a786ed2c
gsdx-ogl: remove support WMS/T == 2 in hardware unit
...
I think behavior was wrong because only first texel coordinate was clamped.
Beside we can't interpolate if AEM isn't yet applied
2015-08-20 23:01:43 +02:00
Gregory Hainaut
53d1fdd8f1
glsl:debug: disable fst when testing texturing shader
...
Reduce clutter in ASM dump
2015-08-20 23:01:43 +02:00
Gregory Hainaut
78dd957717
gsdx-ogl: use normalized index coordinate for palette texture
...
In palette mode, 90% of texture accesses are done in 8 bits.
So let's keep this path as light as possible. It reduces GPU load.
2015-08-20 23:01:43 +02:00
Gregory Hainaut
42c08e6123
gsdx-debug: infinite replay for value > 90
...
Allow to use Nvidia debugger & give time to see the glitches
2015-08-20 23:01:20 +02:00
refractionpcsx2
561fa8a95e
GSdx-dx: Workaround for NVidia Win10 Issues, possibly? at least seems to fix it..
2015-08-19 23:01:39 +01:00
Gregory Hainaut
6b84a89b6a
gsdx-ogl: remove old ati hack for point sampler
...
Was never used on openGL
In the future absolute coordinate will be use anyway
2015-08-18 19:09:45 +02:00
Gregory Hainaut
ed21d88735
gsdx-ogl: add support of Intel GPU on Windows
...
It requires at least an Ivy Bridge GPU.
2015-08-18 19:06:43 +02:00
refractionpcsx2
8539805691
Merge pull request #690 from micove/VS_universal_sln
...
VS Now uses a universal solutions file - VS 2012 and below dropped due to incompatibility with C++11
2015-08-18 11:40:53 +01:00
refractionpcsx2
a4f8c6d5b3
Merge pull request #770 from micove/Lintian_Fixes
...
Fix things found using lintian by micove. Grammatical changes only.
2015-08-18 10:19:37 +01:00
Gregory Hainaut
37661f3a86
gsdx-ogl: fix blending regression (VP2)
...
Negative factor must be disabled in negative accumulation "-Cs*As + Cd"
Shader must output Cs*As and blending unit will do the Cd - C subtraction
2015-08-18 09:14:11 +02:00
Miguel A. Colón Vélez
a1de0614d7
Remove vs2012 files.
...
It does not support several things from C99/C++11 that are
used in the project.
2015-08-18 01:15:51 -04:00
Miguel A. Colón Vélez
f22bc63fee
Disable 8,000+ warnings.
...
Someone can try renaming v,a,b,m,t but since they are
shadowed one mistakes can mess too much hence the warning.
2015-08-18 00:45:14 -04:00
Miguel A. Colón Vélez
277217353e
Rename files.
2015-08-18 00:44:35 -04:00
Miguel A. Colón Vélez
1fe5aceded
Enable round-tripping.
...
- Remove ToolsVersion
- Use $(DefaultPlatformToolset)_xp until XP support is dropped.
Note: opencl had no XP support and was not enabled in VS2012.
2015-08-18 00:44:19 -04:00
Miguel A. Colón Vélez
f52988b93c
Run devenv /upgrade
...
This ensures the solution can do round-tripping.
2015-08-18 00:44:02 -04:00
Miguel A. Colón Vélez
21c4e6caa6
Fix things found by lintian.
...
I: pcsx2: spelling-error-in-binary usr/lib/i386-linux-gnu/pcsx2/libGSdx-1.0.0.so allows to allows one to
I: pcsx2: spelling-error-in-binary usr/lib/i386-linux-gnu/pcsx2/libGSdx-1.0.0.so Allow to Allow one to
.
Apparently lintian checks grammar too (most common ones).
2015-08-17 22:00:07 -04:00
Gregory Hainaut
260c12756a
gsdx-ogl: accelerate Cd - Cs * Alpha in sw blending
...
It is similar as Cd + Cs * Alpha except the operator
It would help to emulate other color clipping case correctly in basic
mode at full speed
2015-08-16 18:12:34 +02:00
Jonathan Li
6580f4922f
gsdx-ogl: correct fbmask conversion on texture shuffle
...
Fbmask is RGBA8 and must be converted to RGB5A1
=> bit 31 must be moved to bit 15
Signed-off-by: Gregory Hainaut <gregory.hainaut@gmail.com>
2015-08-16 14:06:10 +02:00
Gregory Hainaut
c32f1dfc23
gsdx-ogl: fix blend clear regression
...
Field selector are very dangerous to use.
Fix #764
2015-08-15 20:06:34 +02:00
Gregory Hainaut
0e3491bd58
gsdx-ogl: always do RW RT check
...
Jak uses it with triangle rendering.
2015-08-15 20:06:34 +02:00
Gregory Hainaut
c7b2f9d1d2
gsdx-ogl: setup fbo to always write to first buffer
...
GL_NONE was kind of useless because nothing was attached anyway
2015-08-15 20:06:34 +02:00
Gregory Hainaut
87f497af0a
gsdx-ogl: remove an useless variable
2015-08-15 20:06:34 +02:00
Gregory Hainaut
2e9ff045e1
gsdx-ogl: try another implementation for uniform buffer
...
It is slower but keep it for a bindless trial
2015-08-15 20:06:34 +02:00
Gregory Hainaut
3145031c05
gsdx-ogl: add glBindBufferRange function pointer
2015-08-15 20:06:34 +02:00
Jonathan Li
63c26c45ec
gsdx: Clean up Wild Arms hack cruft
...
The Wild Arms Offset hack can only be on or off. There is no third
state. Convert the three-state checkbox into a two-state checkbox, fix
the description and remove a leftover.
2015-08-15 10:54:03 +01:00
Jonathan Li
1915bf1a61
gsdx:linux: Fix tooltip and clarify/fix 2 labels
...
Half-pixel offset option now uses the correct tooltip.
Offset Hack -> Half-pixel Offset Hack
Wild arm Hack -> Wild Arms Hack
2015-08-15 09:53:48 +01:00
Gregory Hainaut
87dcb9336f
gsdx-ogl: don't bind the 0 texture to be compatible with the Nvidia debugger
2015-08-13 09:57:51 +02:00
Gregory Hainaut
84744d429e
gsdx: allow to test glsl shader without replayer
...
This way users can test it too.
2015-08-13 08:48:05 +02:00
Gregory Hainaut
2f9d5334ee
gsdx:EGL: prefer EGL over GLX + add some error messages
2015-08-13 08:48:05 +02:00
Gregory Hainaut
84e6fb45e8
gsdx-replayer:linux: allow to use env variable as default parameter
...
GSDUMP_SO <= the so plugin
GSDUMP_CONF <= the dir that contains the ini
2015-08-13 08:48:05 +02:00
Gregory Hainaut
6046d6c417
Merge pull request #749 from PCSX2/gsdx-micro-optimization
...
Gsdx micro optimization
2015-08-12 08:54:36 +02:00
Gregory Hainaut
98c74879bf
Merge pull request #718 from PCSX2/depth-color-direct-write
...
Depth color direct write
2015-08-10 15:50:48 +02:00
Gregory Hainaut
0663501d6f
gsdx-linux: disable perf monitor on release build
...
Code is rather slow on linux. Expect a 5-10% perf increase
2015-08-10 08:35:16 +02:00
Gregory Hainaut
9f92f63194
gsdx-ogl: Use GetAlphaMinMax to limit the scope of FULL accurate blending
...
Provide a massive speed up in this level.
2015-08-09 13:44:31 +02:00
Gregory Hainaut
61694013a5
gsdx-ogl: compact blending parameter structure
...
Save 656B of data. It is good for the cache.
2015-08-09 13:44:30 +02:00
Gregory Hainaut
df3ade896b
gsdx-ogl: use integer for blend factor
...
Integer argument&comparison might be lighter
V2: Forget to change one OMSetBlendState call
2015-08-09 13:44:05 +02:00
nE0sIghT
e1272dc2f9
Use global compiler optimization flags instead of defining them for every plugin/binary
2015-08-08 16:25:17 +03:00
Gregory Hainaut
5b57405517
gsdx-ogl: blend management cleanup
...
* reorder the blend function
* remove OM bsel object
* add a bit to support pabe (miss the glsl part)
2015-08-08 09:18:09 +02:00
Gregory Hainaut
4d12410707
gsdx-ogl: latch constant buffer in rendering object
...
* Initialization of the object is done once
* Avoid to reupload it when an useless parameter toggle
=> -10% of UBO update
2015-08-08 09:18:09 +02:00
Gregory Hainaut
bd0de8fbaf
glsl: (colclip) HDR doesn't need wrapping neither clamping
...
Might save a couple of instruction in the PS
2015-08-08 09:18:09 +02:00
Gregory Hainaut
8a4c0e9782
cmake: drop extra alignment on GSdx
...
It requires extensive tests
2015-08-08 09:18:09 +02:00
Gregory Hainaut
1557f82b11
gsdx:clut: comment old unused clut code
2015-08-08 09:17:21 +02:00
Gregory Hainaut
d822b6bd1a
gsdx-ogl: add some comments for the future
2015-08-08 09:17:06 +02:00
Gregory Hainaut
b17803bb34
gsdx-ogl: wipeout of GL_ARB_bindless_texture
...
Code is completely broken. It doesn't help to improve speed.
Remove 200 lines ;)
2015-08-08 09:16:49 +02:00
Gregory Hainaut
b3919fde95
gsdx-linux: remove an old delay that pollute my benchmark mode
...
Also add a glFinish to ensure rendering is done
2015-08-08 09:16:13 +02:00
gabest11
d826d925db
gsdx: eliminated a few bugs in the texture size changer algorithm
2015-08-07 02:08:29 +02:00
Jonathan Li
c09501ad9a
gsdx:linux: Add GSDrawingContext.cpp to CMakeLists.txt
...
Fixes the missing symbol error.
2015-08-06 18:17:28 +01:00
Gregory Hainaut
39ce8835f7
gsdx:linux: use unordered hash
...
It seems a bit faster on 'perf' tool
2015-08-05 22:55:12 +02:00
Gregory Hainaut
921b22ac31
gsdx-ogl: drop useless parameter of OMSetDepthStencilState
2015-08-05 22:55:12 +02:00
Gregory Hainaut
b7e16b5989
gsdx-ogl: clean the blending management
...
Intially GSBlendStateOGL was an alias of the m_blendMapD3D9 array
The object was replaced by an index in the array. Save 2k of memory duplication.
And too much useless code.
v2: push/pop blending state in DATE stuff
v3: remove m_state which is useless now
2015-08-05 22:55:12 +02:00
Gregory Hainaut
717f0fcb4d
gsdx-ogl: optimize fbmask setup
2015-08-05 22:55:12 +02:00
gabest11
49b3acea72
gsdx: texture size reduction in sw mode, fixes Stolen, less memory usage in general.
2015-08-05 19:11:41 +02:00
Gregory Hainaut
73e2ff6ff6
gsdx-ogl: change PrimitiveOverlap algo from O(n^2) to O(n)
...
+ only enable this optimization when it is useful (date or sw blending)
Less impact on the perf even for big vertex array
2015-08-05 17:59:55 +02:00
Miguel A. Colón Vélez
6462393aaf
Introduce end-of-line normalization
...
Signed-off-by: Gregory Hainaut <gregory.hainaut@gmail.com>
2015-08-04 23:52:48 +02:00
Miguel A. Colón Vélez
a42a236961
Gsdx: Move the stdext namespace declaration.
...
This will eventually lead to
error C2871: 'stdext' : a namespace with this name does not exist.
might as well fix it now.
2015-08-04 22:16:15 +02:00
Miguel A. Colón Vélez
30c6389ed9
VS2015: Fix compilation
...
Error C2338 The C++ Standard forbids containers of const elements
because allocator<const T> is ill-formed. (compiling source file GS.cpp)
2015-08-04 22:16:04 +02:00
Miguel A. Colón Vélez
d45676b478
Merge local changes to xbyak 4.84
2015-08-04 22:15:52 +02:00
Miguel A. Colón Vélez
41094ac22e
Update from xbyak 4.00 to 4.84.
2015-08-04 22:15:46 +02:00
Gregory Hainaut
9d1674db99
gsdx-gui: remove useless linux ifdef
2015-08-04 22:08:55 +02:00
Gregory Hainaut
36554c3375
Merge branch 'hdr-colclip-32bits'
2015-08-04 21:55:40 +02:00
Gregory Hainaut
45bb27d6db
gsdx-ogl: extend HDR colclip to 32 bits texture
...
Unfortunately 16 bits wasn't enough for Castlevania.
2015-08-04 21:54:27 +02:00
Gregory Hainaut
c6ff7531fb
gsdx-ogl: performance boost on virtuafighter
2015-08-04 21:26:03 +02:00
Gregory Hainaut
d80aa0b0bd
gsdx-ogl: remove 2 printfs
...
GL_INS is a better tracing solution
2015-08-04 20:47:02 +02:00
Gregory Hainaut
744f9ebc09
gsdx-ogl: rare corner case when both texture shuffle and date are enabled
...
In texture shuffle mode the texture data is either RG or BA. It means
that DATE must either checks MSB of G or A.
Close #693
2015-08-04 20:10:44 +02:00
Gregory Hainaut
6cb0443227
gsdx: disable depth rendering if rt == depth
...
I used to disable the RT but it doesn't work well with 50cents. It seems
texture writes weren't propagated correctly to the depth buffer. Besides
the game write an alpha value whereas depth is 24 bits only...
2015-08-04 19:39:29 +02:00
Gregory Hainaut
3784ea768f
gsdx: check null pointer when doing a texture clear
2015-08-04 19:26:17 +02:00
gabest11
42f51591df
gsdx: lupin 3 fix, texture addressing outside the limits, only for sw and opencl yet
2015-08-04 13:27:08 +02:00
gabest11
d631030608
gsdx: fixed some of the renames where it made no sense, also added a commend about lupin 3rd.
2015-08-04 03:36:42 +02:00
gabest11
e010004f1f
gsdx: _isnan was not reliable, rewrote it as GSVector4::replace_nan, it uses cmpps and the result as the mask to blend the original value and FLT_MAX. No jumps or function calls.
2015-08-03 14:35:47 +02:00
gabest11
85117ecbdd
gsdx: simplified isnan test, it compiles to an inline sse instruction and a flag test, silent hill dump still looks fine.
2015-08-03 11:27:14 +02:00
Gregory Hainaut
6e1cd077a9
gsdx-debug: push ubo in a group
2015-08-03 08:46:25 +02:00
Gregory Hainaut
e972f4f4dd
gsdx-ogl: extend device to support an offset for normal draw
2015-08-02 21:30:19 +02:00
Gregory Hainaut
cabd7409e5
gsdx-ogl: don't validate the pipeline
...
Too noisy in debugger trace. Never catch any errors anyway.
2015-08-02 21:30:19 +02:00
Gregory Hainaut
59cdf77784
gsdx-ogl: create a new function to set the blending state
2015-08-02 21:30:19 +02:00
Gregory Hainaut
1da611fb75
gsdx-ogl: clean PS selector
2015-08-02 21:30:19 +02:00
gabest11
542dd33169
Merge branch 'master' of https://github.com/pcsx2/pcsx2
2015-08-02 20:27:33 +02:00
gabest11
a1a842b07f
gsdx: date/datm fix for 16-bit frame buffer in sw rendering mode
2015-08-02 20:21:49 +02:00
Gregory Hainaut
8424c18e9f
Merge pull request #688 from PCSX2/hdr-colclip
...
Hdr colclip
2015-08-02 18:13:28 +02:00
Gregory Hainaut
1f402b1b56
gsdx-ogl: fix bad detection of overlapping
...
avoid rendering corruption with SW blending
2015-08-01 13:29:25 +02:00
Gregory Hainaut
ec007ac8d0
gsdx-ogl: support accurate blending without geometry shader
...
For the Mesa driver
2015-08-01 13:26:15 +02:00
Gregory Hainaut
4a3c145c72
gsdx-ogl: depth support: better support of 16 bits z buffer
...
Fix issue in socom2
2015-08-01 01:28:41 +02:00
Gregory Hainaut
eb0fa8c7dc
gsdx-ogl: fix bad detection of overlapping
...
avoid rendering corruption with SW blending
2015-08-01 01:27:22 +02:00
Gregory Hainaut
8452d2ccfe
gsdx-ogl: fbmask regression! don't use bit operation with integer
2015-07-31 21:10:58 +02:00
Gregory Hainaut
fff59f547d
gsdx-ogl: fbmask regression! don't use bit operation with integer
2015-07-31 19:43:06 +02:00
Gregory Hainaut
a0edcb58af
gsdx-ogl: extend cclip blending level with destination alpha blending
...
The purpose is to emulate correctly destination alpha factor
An alpha channel of 128 is 1.0 in the GS but only ~0.5 in the GPU
I think few draw call use destination alpha so impact on perf must remains small.
2015-07-31 09:45:28 +02:00
Gregory Hainaut
97b38d9e1b
gsdx-ogl: directly set impossible mode in the blending table
...
Avoid to hack it in the creation
Allow in the future to reuse the table directly instead of converting
in a blend object
2015-07-31 09:45:28 +02:00
Gregory Hainaut
8554f32086
gsdx-ogl: clean the blend table
...
Remove old shader define
Prefix macro with BLEND_
Add some notes to explain the special symbol
2015-07-31 09:45:28 +02:00
Gregory Hainaut
cfd0fd6cc8
gsdx-ogl: remove old colclip algo
2015-07-31 09:45:28 +02:00
Gregory Hainaut
93c47feb7c
gsdx-ogl: replace old colclip algo with the HDR algo
...
Similar speed but more accurate
Allow to clean the code
2015-07-31 09:45:28 +02:00
Gregory Hainaut
83f874db93
gsdx-ogl: remove bsel.ps
...
Just clear bsel.abe to disable blending
2015-07-31 09:45:28 +02:00
Gregory Hainaut
25298c70f7
gsdx-ogl: move blending management into a separate function
2015-07-31 09:45:28 +02:00
Gregory Hainaut
25bd5f5e85
gsdx-ogl: request texture barrier to emulate accurate date
...
Actually it can partially be done with GL_ARB_shader_image_load_store
extension. However all drivers that support shader_image have
texture barrier too.
2015-07-31 09:45:28 +02:00
Gregory Hainaut
2901e94ebc
gsdx-ogl: always bind the RT as input texture
...
To avoid code duplication
2015-07-31 09:45:28 +02:00
Gregory Hainaut
1fe3e04ce3
gsdx-ogl: don't alias m_env/m_context variable
...
It is cumbersome to move code
2015-07-31 09:45:28 +02:00
Gregory Hainaut
8f27a5a92b
gsdx-ogl: only enable fast accurate colclip in level3
...
Until we drop the old method
2015-07-31 09:45:05 +02:00
Gregory Hainaut
83dfc6b633
gsdx-ogl: clean a bit selector code
...
Use countof macro (avoid to duplicate the size)
Fix the size of array
Remove useless alpha_stencil case
2015-07-30 18:36:05 +02:00
Gregory Hainaut
e026f1bac6
gsdx-ogl: implement a fast accurate colclip algo
...
The idea is to use a floating texture to accumulate the data and
then do a final postprocessing pass to apply the modulo
v2:
* use bounding box to
* fix vertex corruption issue
* use negative number in shader which allow to use half float (+12
fps@4x)
2015-07-30 18:34:52 +02:00
Gregory Hainaut
aa8f5848d1
gsdx-ogl: always issue a barrier when requested
...
Safer this way
2015-07-30 18:24:36 +02:00
refractionpcsx2
28fbae4791
gsdx-gui: Tidy up GUI options
2015-07-30 18:24:32 +02:00
Gregory Hainaut
88bd0996f5
gsdx-ogl: only print same tex/rt message when prims overlaps
...
Avoid most of the false positive
2015-07-30 18:24:32 +02:00
Akash
350e373e3f
gsdx-gui: Remove Aggressive CRC hack.
...
The option is pretty much useless, CRC hack level controls the usage of hacks already.
2015-07-30 18:24:28 +02:00
Akash
68833e10d1
gsdx-gui: Accurate blending unit for Windows.
...
The following patch merges all the Accurate options related to the blending unit into a single one.
2015-07-30 18:24:19 +02:00
Gregory Hainaut
d191ae4aba
glsl: use rounding in convert 4 shader
...
It will avoid texture rouding error with negative number
2015-07-30 18:22:59 +02:00
Gregory Hainaut
7b9fa8fbe5
gsdx-ogl: add an assertion that will save me
2015-07-30 18:22:59 +02:00
Gregory Hainaut
46a1525668
gsdx-ogl: support various texture format creation
...
Such as GL_RGBA32F/GL_RGBA16F/GL_RGBA16UI/GL_RGBA16I/GL_RGBA16
Not yet used
2015-07-30 18:22:59 +02:00
Gregory Hainaut
ee9edb0b19
gsdx-ogl: create a copy rect with conversion function
...
Previous CopyRect function does a memcopy without conversion.
This function will allow to use different format for input/output. Just a
possibility for the future
2015-07-30 18:22:59 +02:00
Gregory Hainaut
ae8df002af
gsdx-ogl: optimize Cs * As + Cd and Cs * Af + Cd blending
...
Basically the code does the alpha multiplication in the shader therefore
the blend unit only does a pure addition. This way the multiplication is
accurate and accurate_blending doesn't requires a costly barrier.
This code also avoid variable duplication to make the code more separated.
Hopefully blending can be done in a separated function
It is preliminary work to support fast color clipping with HDR
v2: fix assertion compilation failure
v3: fix regression in not accurate mode
v3: Cs * As/Af is not an accumulation
Those cases don't need the Cd addition and were already optimized anyway
Fix a regression on GoW2
2015-07-30 18:22:59 +02:00
Gregory Hainaut
12fdc37599
gsdx-ogl: reorganize blending in the renderer
...
Do DATE algo selection before blending. This way we can detect bad
interaction.
Regroup all blending/colclip in a single block. Avoid to check abe &&
rt multiple times.
v2: only enable sw blending when abe is true
2015-07-30 18:21:01 +02:00
Gregory Hainaut
caadc73e1b
gsdx-ogl: add a new level for accurate blending
...
The updated medium level will run for all sprites. It helps sotc blooming effect and it remains
fast enough to be enabled by default (at least on 3D games)
The new high level will run for all sprites + color clipping
2015-07-30 18:21:01 +02:00
Gregory Hainaut
95c374bbcc
glsl: Round 0.95+ to 1 for texel colors
...
It improves SotC blooming. Suikoden seems to be fine too.
2015-07-30 18:21:01 +02:00
Gregory Hainaut
01a1b1a5e6
gsdx-ogl: add the code to handle point and line in SW blending
2015-07-30 18:21:01 +02:00
Gregory Hainaut
a85894e159
gsdx-ogl: move texture shuffle and fbmask into a dedicated function
...
DrawPrims is really too big now
2015-07-30 18:21:01 +02:00
Gregory Hainaut
b632b2a478
gsdx-linux: add a new combo box to select the blend accuracy level
2015-07-30 18:21:00 +02:00
Gregory Hainaut
5c1b8986c6
gsdx-ogl: use SW blending when no barrier is required
...
Speed penality is small (only GPU) but it is more accurate
2015-07-30 18:21:00 +02:00
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
8da63cf95a
gsdx-ogl: try to enable sw blending for sprite rendering
...
The idea is that sprites are often use for post-processing effect (ofc except 2D games)
Most of the time post-processing supports SW blending with a small speed penality. SW
blending is more accurate so it is better to use it.
2015-07-30 18:21:00 +02:00
Gregory Hainaut
f4e881ad30
gsdx: always set texture shuffle flag
...
Avoid bad effects in 16 bits RT games
2015-07-30 09:15:04 +02:00
Miguel A. Colón Vélez
e4ab71abf3
Add authors comment that suggest public-domain license.
...
Sourceforge was dead for more than a week therefore add the license
information. I could not find the original TGM source (dead link) so I'm not
even sure if this still applies or if the glsl was totally rewritten. None
of the glsl files have a copyright header so it's hard to tell.
2015-07-27 14:21:29 -04:00
Gregory Hainaut
f2c77ffa08
gsdx:tc: detect texture shuffle in previous frame
...
GoW2 uses the effect at the start of a new frame and therefore need the
state of the previous frame. (Note 1 issue remains)
Ricky need to be tested.
2015-07-26 10:14:07 +02:00
Gregory Hainaut
cb4af8fe83
gsdx-ogl: small optimization for the GPU
...
Gain: 1% at 4x on SotC (it partially compensates recent additions)
When the color is constant and equal to 128, the MODULATE mode is
equivalent to the DECAL mode. It saves 5 instructions on the FS.
2015-07-21 08:19:36 +02:00
Gregory Hainaut
7ca463bf75
gsdx: NaN is likely not well supported for S & T
...
Add also a comment to explain the NaN issue on Q
2015-07-21 08:19:36 +02:00
Gregory Hainaut
223b7daa1d
gsdx-ogl: fix fbmask regression
...
I forget to remove an useless 255.0f factor
2015-07-19 23:55:27 +02:00
Gregory Hainaut
a54e636364
gsdx-linux: add a tooltip for the filtering option
2015-07-19 23:27:45 +02:00
Gregory Hainaut
5c740ff41e
gsdx-ogl: wipeout AlphaStencil & Alpha hack
...
Accurate options do a better jobs. Technically it can still
be useful for old gpu/driver that doesn't support the GL4.5 extension.
On Windows, you can still rely on Dx
On linux, free driver support it (except Intel)
2015-07-19 22:43:48 +02:00
Gregory Hainaut
759e75091a
gsdx-gui: yes openGL support correctly 8 bits texture
2015-07-19 17:29:25 +02:00
Gregory Hainaut
6719fc89a6
gsdx-sw: Nan is not well supported in Vertex
...
It fixes the bad light on Silent Hill with the SW renderer.
Full story
if Q is NaN, m_vt.m_eq.q becomes wrongly true
/Q will wrongly be optimized in the "Vertex Shader" of the SW
Note: Add an assert for the STQ handler
Code path is quite hot so no need to add extra check for nothing
2015-07-19 16:41:05 +02:00
Gregory Hainaut
7f76883b98
Merge pull request #658 from ssakash/patch-34
...
Add Accurate Frame Buffer mask for Windows [GUI] and remove some old options.
2015-07-19 09:07:13 +02:00
Gregory Hainaut
38c086008d
glsl: round blending as SW renderer
...
Better tone on God of War with ultra accurate mode
2015-07-18 17:16:46 +02:00
Gregory Hainaut
88cd333839
gsdx-ogl: don't enable both HW&SW blending
2015-07-18 16:15:52 +02:00
Gregory Hainaut
c4e165067d
glsl: use signed integer when working with substraction...
...
It mostly fixes rendering of GoW with ultra blending
Color is still a bit wrong but rounding is likely incorrect
2015-07-18 14:41:03 +02:00
Gregory Hainaut
c701ab4368
glsl: don't use normalized value for color range
...
Globally shader uses less intruction (except blending part)
It would also allow to improve the rounding of color
2015-07-18 14:41:03 +02:00
Gregory Hainaut
57394a03e0
partially revert: glsl: disable computing of extra alpha coeff in SW blending
...
It generates undefined data in screen. Maybe blending isn't switch off properly.
I need to investigate it.
2015-07-18 14:41:03 +02:00
Gregory Hainaut
5f5266ba45
gsdx-ogl-debug: don't optimize alpha channel in dump
...
Allow to dump AEM part of the shader
2015-07-18 14:40:57 +02:00
Gregory Hainaut
036cb229a3
glsl: add various comment for future idea
...
For example GL4 GPU supports special bit operation
2015-07-18 14:40:57 +02:00
Gregory Hainaut
6c1c857024
gsdx-ogl-debug: properly detect start of instruction in dump
2015-07-18 14:40:46 +02:00
Akash
37897eb922
add accurate framebuffer mask for windows.
2015-07-18 11:24:00 +05:30
Akash
7c4f3d28ce
remove is_gsopen stuffs since old GUI is deprecated.
2015-07-18 10:50:34 +05:30
Gregory Hainaut
698dda2310
gsdx-ogl: remove subroutine from the gui too
2015-07-17 22:28:59 +02:00
Gregory Hainaut
36e83b42ce
glsl: round texture and fragment color as the SW renderer
...
GS uses integer value and does integer operation too.
This commit trunc the sampled texture, the interpoled fragment color
and the product of the 2.
It impacts negatively the perf of about 3/4% (GPU) but it fixes rendering on
suikoden and potentially some others games too.
2015-07-17 21:08:49 +02:00
Gregory Hainaut
5f247a6e16
glsl: rewrite tfx function to ease future update
...
No need to put lots of ifdef, compiler will optimize everything
It increases a bit the readability
2015-07-17 21:08:49 +02:00
Gregory Hainaut
ea9e608288
gsdx-ogl: fix texture palette mask
2015-07-17 21:08:49 +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
e3751f6cd9
glsl: disable computing of extra alpha coeff in SW blending
...
Hum, I'm curious of the impact to enable only this code when it is actually used.
2015-07-17 21:08:49 +02:00
Gregory Hainaut
784822a5c2
glsl: redo blending management to use A/B/C/D directly
...
1/ Code is much more readable
2/ It will allow to round differently the operation in the future
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
Jonathan Li
6c300288f9
gsdx: windows: Make GSReplay work for OpenGL
...
On Windows, GSReplay does not work with the OpenGL hardware and software
renderer. Make it work.
2015-07-15 20:40:47 +01:00
Gregory Hainaut
6ed137dc9c
gsdx-ogl: log openGL driver version
2015-07-13 12:35:55 +02:00
Gregory Hainaut
c9d6ce3b63
Merge pull request #653 from PCSX2/texture-shuffle-again
...
gsdx: texture shuffle detection
2015-07-12 18:48:00 +02:00
Gregory Hainaut
8be32e4661
gsdx-tc: fix a memory leak when depth isn't fully supported
...
Fix issue #642
2015-07-12 17:57:42 +02:00
Gregory Hainaut
f6f28042bd
gsdx: texture shuffle detection
...
Don't check rt 32 bits state, it give false positive on suikoden
2015-07-12 15:21:04 +02:00
Gregory Hainaut
c660ea858b
gsdx: move some CRC hacks to full level
2015-07-11 15:14:11 +02:00
Gregory Hainaut
5f8d3b9e4b
gsdx-tc: remains in the memory
...
avoid a crash with kungfu panda
2015-07-11 14:35:35 +02:00
Gregory Hainaut
a4bad8fdbc
gsdx-ogl: avoid a bad conflict between accurate option
2015-07-11 14:35:35 +02:00
Gregory Hainaut
15b934eb2a
gsdx-ogl: remove useless colclip message
2015-07-11 14:35:35 +02:00
Gregory Hainaut
91fbe6f108
gsdx-ogl: add some code to fix black netting on some renderings
...
Code is not yet enabled because it requires extensive test
The idea is to replace point by a 1 pixels sprite with the help of
a geometry shader. In 4x, point will be replaced by a 4x4 sprite.
2015-07-11 14:35:35 +02:00
Gregory Hainaut
5e7ce63ed1
glsl: add a geometry shader to upscale GS_POINT
...
The purpose is to avoid upscaling issue on POINT rendering (black netting on some FMVs)
2015-07-11 14:35:34 +02:00
Gregory Hainaut
2ccf108534
gsdx-ogl: add back a selector for the Geometry Shader
2015-07-11 14:35:34 +02:00
Gregory Hainaut
7f7f6c3b51
Merge pull request #640 from turtleli/gs-frame-title-fixes
...
GS frame title fixes
2015-07-11 09:47:27 +02:00
Gregory Hainaut
5ed45b6806
Merge pull request #644 from PCSX2/improve-texshuffle-detection
...
Improve texshuffle detection
2015-07-11 09:34:33 +02:00
Gregory Hainaut
ec61ad3667
gsdx-tc: Add some code for the future
...
Partially invalidate RT when there is a write in the middle of it (actually 2 pages below)
Code is not yet enabled because
1/ I want to stabilize latest update
2/ not sure of the impact of the code
3/ maybe it need a more generic version
2015-07-10 22:35:26 +02:00
Gregory Hainaut
5888913052
gsdx-debug: don't print any "notify" message
...
Too verbose
2015-07-10 22:35:26 +02:00
Gregory Hainaut
6f9a89dcf2
gsdx-debug: print memory usage of all textures pools
...
It is a bit crude but it allow to see the impact of code and options.
2015-07-10 22:35:26 +02:00
Gregory Hainaut
350db223d3
gsdx: only propagate texture shuffle detection if tex shuffle is detected
2015-07-10 14:06:39 +02:00
Gregory Hainaut
22f11958e9
gsdx: better detection of texture shuffle
...
Some effects were missed on Wallace & Gromit
2015-07-09 23:05:07 +02:00
Gregory Hainaut
ad86bb5faa
gsdx-tc: clear 32 bits state after vsync
...
Avoid issue on game that uses only 16 bits RT
2015-07-09 23:03:55 +02:00
Jonathan Li
bff1b2a3bf
GSdx: Show plugin info in title bar when paused
...
When GSdx is paused by opening the config panel, GSdx does not pass any
info back to PCSX2. Pass the plugin name and renderer even when paused.
2015-07-09 16:11:26 +01:00
Gregory Hainaut
4fcf460447
gsdx: fix DoC black screen video
...
The game also set both depth and rt buffer at the same location
but disable the depth test (ZTE is 0)
2015-07-09 16:20:43 +02:00
Akash
a02a9aac8f
Fix a Function name typo.
2015-07-07 21:26:04 +05:30
Gregory Hainaut
345efed473
Merge pull request #633 from ssakash/patch-22
...
Update the variable name and region of the CRC hack used for Superman
2015-07-07 15:27:08 +02:00
Akash
f39aa181cc
Update the variable name to suit the game's original name and change to accurate region of the game.
2015-07-06 00:59:35 +05:30
Gregory Hainaut
986754bde7
glsl: don't declare gl_FragDepth
...
Fix compilation issue on Mesa driver
(hope it doesn't break Catalyst)
2015-07-05 18:12:36 +02:00
Gregory Hainaut
edc9d23566
gsdx: fix a crash with UserHacks_ColorDepthClearOverlap
2015-07-05 14:13:24 +02:00
Gregory Hainaut
e1144d7a18
gsdx:hack: add a CRC for SuperMan
...
Extracted from the GS dump
2015-07-05 14:11:35 +02:00
Gregory Hainaut
95e1cd9ea8
gsdx-tc: don't considerer frame as a 32 bits RT
...
Frame is always 32 bits but game can reuse it later as a 16 bits RT.
Fix half screen issue with Ricky Ponting Cricket
Unfortunately it triggers texture shuffle wrongly. I hope there is no
regression.
2015-07-04 11:00:32 +02:00
Gregory Hainaut
8640b44e02
gsdx-hack: implement a hack for SuperMan (need CRC to enable it)
...
Fix depth issue.
First issue: RT and Depth are located at the same address.
=> solution, just lookup the depth (done for any games)
Second issue: Instead to draw a X,Y rectangle, they draw a 32 pix, 4096 pix
rectangle with a FBW of 1.
=> solution, don't bother just write the depth directly
Please someone add some CRC to enable the code
2015-07-04 10:59:21 +02:00
Gregory Hainaut
0a07762f6b
gsdx-tc: only track 32 bits fmt if the texture is not a palette fmt
...
Fix a regression on ricky ponting cricket (texture shuffle was triggered without any valid reason)
2015-07-03 23:04:48 +02:00
Gregory Hainaut
b9bc5b5c60
gsdx: add UserHacks_ColorDepthClearOverlap to test some new code
...
debug only
2015-07-03 22:13:35 +02:00
Gregory Hainaut
621d1d93db
gsdx-linux: drop the logz option
...
logz will only enabled if GL_ARB_clip_control is not found.
Note: logz will likely break depth support. Be sure to use a recent driver
2015-07-03 21:29:49 +02:00
Gregory Hainaut
82ed6eac13
gsdx-linux: remove alpha hack from the GUI
...
Normally you don't need it anymore on OpenGL :)
You can still use this option from the ini file for debug purpose
2015-07-03 21:24:17 +02:00
Gregory Hainaut
abec4bd760
gsdx-ogl: don't enable aout when using accurate fbmask
2015-07-03 21:21:56 +02:00
Gregory Hainaut
d71b2c1ded
gsdx: update accurate fbmask tooltip
2015-07-03 21:21:08 +02:00
Gregory Hainaut
4dbe71cba8
gsdx-ogl: disable SW blending when running DATE GL42
...
// GL42 interact very badly with sw blending. GL42 uses the primitiveID to find the primitive
// that write the bad alpha value. Sw blending will force the draw to run primitive by primitive
// (therefore primitiveID will be constant to 1)
2015-07-03 20:34:52 +02:00
Gregory Hainaut
705c88f193
gsdx-ogl: disable blending when cleaning integer texture
...
Avoid a warning message on Nvidia
2015-07-03 20:26:56 +02:00
Gregory Hainaut
c6f026ee68
gsdx-tc: keep 32 bits status when converting from/to depth
...
Partially fix conan effect
2015-07-03 19:02:44 +02:00
Gregory Hainaut
0c12f232ca
gsdx-ogl: don't write depth in first step of DATE 42
...
Fix shadows in Fifa
2015-07-02 21:08:47 +02:00
refractionpcsx2
193f47ebb1
Merge pull request #616 from ssakash/patch-22
...
swap value functions for Round sprite hack.
2015-07-02 19:33:03 +01:00
Gregory Hainaut
28815db7cc
gsdx: fix depth option
2015-07-02 19:13:38 +02:00
Akash
6f515b220e
update the description text
2015-07-02 01:39:55 +05:30
Gregory Hainaut
de644c5437
Merge pull request #628 from PCSX2/gsdx-depth-and-16-bits-support
...
Gsdx 1.0
2015-07-01 20:50:09 +02:00
Gregory Hainaut
cd8e31d85f
gsdx-ogl: always copy date to offset 0,0
...
Fix snow engine game on driver that don't support yet GL_ARB_copy_image
(Mesa drivers)
2015-07-01 18:27:20 +02:00
Gregory Hainaut
831c24de51
gsdx-dx: only enable new code when CRC is below FULL level
...
Code is not ready. It allow to test the new code without a massive
regression
2015-07-01 09:36:54 +02:00
Gregory Hainaut
074881228d
gsdx:comment: small explanation of the half offset hack
2015-07-01 09:36:54 +02:00
Gregory Hainaut
76f96ddbb6
gsdx-tooltip: MSAA is not implemented on OpenGL
2015-07-01 09:36:54 +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
a9f49ab9ab
glsl: fix rounding error for shadow computation
...
Better shadow on Castlevania/Nemo (others :) )
2015-07-01 09:36:54 +02:00
Gregory Hainaut
d46e41533d
gsdx: remove various CRC of the openGL level
...
It is mostly the texture shuffle effect which is now emulated correctly on openGL
They remain in the Dx level as speedhack in particular for
* Castlevania;
* GodOfWar;
* StarOcean3;
* ValkyrieProfile2;
* RadiataStories;
Remove old commented hack: Drakengard2, ArctheLad, ReZ
Separate hacks that are only enabled in aggressive mode
2015-07-01 09:36:54 +02:00
Gregory Hainaut
be1403cdc2
gsdx-ogl: support texture shuffling on !FST
...
Mostly fix "Finding Nemo"
It remains a shadows issue when you enable accurate_fbmask and depth
2015-07-01 09:36:54 +02:00
Gregory Hainaut
beafbd9768
gsdx: add a warning for the future
2015-07-01 09:36:54 +02:00
Gregory Hainaut
6121677aa1
gsdx-tc: use a single shader pass to convert texture in 8 bits format
...
It might save a couple of fps
Add a define to test the perf if we keep only the blue channel. It brokes
the code in Prince Of Persia that use the Red/Green channel... Maybe the
speed hack :( Or find a way to replace all if with a lookup table
Note: it is only supported on OpenGL currently
2015-07-01 09:36:54 +02:00
Gregory Hainaut
2ecca529d1
gsdx-tc: log dirty target
2015-07-01 09:36:54 +02:00
Gregory Hainaut
e2727f10ba
glsl: fix for AMD
...
I hope :)
2015-07-01 09:36:54 +02:00
Gregory Hainaut
2af7dcbda2
gsdx-tc: GPU accelerate 8 bits texture when upscaling is enabled
...
Code unscale the texture to ease the conversion. Quality is awful (same as before)
but I'm not sure we can support an upscaled texture
Maybe the quality loss is due to the reduction without mipmap
Maybe the best solution will be to add an hack to extract the blue channel
(with texture swizzle), and uses a "full page/screen" spirte instead.
(it would be faster too)
Note: won't be compatible with MSAA (but gl doesn't support it anyway)
2015-07-01 09:36:54 +02:00
Gregory Hainaut
6ca7a802bf
gsdx-tc: add a big comment to explain the scaling of src in TC
2015-07-01 09:36:54 +02:00
Gregory Hainaut
d29e375f72
gsdx-tc: GPU accelerate 8 bits texture conversion
...
Only native is supported currently
2015-07-01 09:36:54 +02:00
Gregory Hainaut
a8bcc760b4
gsdx-tc: only clean RT in openGL
...
It is a debug feature for myself
2015-07-01 09:36:54 +02:00
Gregory Hainaut
3f6edc39cf
gsdx-linux-gui: update option
...
Add mipmap for SW
Add tc depth for HW
Remove nvidia MT, always on
2015-07-01 09:36:54 +02:00
Gregory Hainaut
db5468afcf
glsl: fix shadow on Shin Megami Tensei Nocturne
2015-07-01 09:36:54 +02:00
Gregory Hainaut
61a717db14
gsdx-tc: clean the RT in debug build
...
// In theory new textures contain invalidated data. Still in theory a new target
// must contains the content of the GS memory.
// In practice, TC will wrongly invalidate some RT. For example due to write on the alpha
// channel but colors is still valid. Unfortunately TC doesn't support the upload of data
// in target.
//
// Cleaning the code here will likely break several games. However it might reduce
// the noise in draw call debugging. It is the main reason to enable it on debug build.
//
// From a performance point of view, it might cost a little on big upscaling
// but normally few RT are miss so it must remain reasonable.
2015-07-01 09:36:53 +02:00
Gregory Hainaut
99b03b4632
gsdx-debug: log all write (texture) from the EE
...
It is verbose but it might help to understand the invalidation of texture
2015-07-01 09:36:53 +02:00
Gregory Hainaut
e66aac8ab7
gsdx-hw: add an hidden option to preload the final frame with GS mem data
...
Game can directly uploads a background or the full image in
"CTRC" buffer. Previous code was a full black screen.
It will also avoid various black screen issue in gs dump.
hidden option: preload_frame_with_gs_data
Note: impact on upscaling was not tested and it's likely broken
2015-07-01 09:36:53 +02:00
Gregory Hainaut
a751db5f2b
gsdx-ogl: merge 2 log (too verbose otherwise)
2015-07-01 09:36:53 +02:00
Gregory Hainaut
85543db094
gsdx-tc: trace the alpha channel update in TC
...
Improve the rendering in MGS3 (even if the game is still broken
due to others TC issues)
// Typical bug (MGS3 blue cloud):
// 1/ RT used as 32 bits => alpha channel written
// 2/ RT used as 24 bits => no update of alpha channel
// 3/ Lookup of texture that used alpha channel as index, HasSharedBits will return false
// because of the previous draw call format
//
// Solution: consider the RT as 32 bits if the alpha was used in the past
2015-07-01 09:36:53 +02:00
Gregory Hainaut
4a65e5e723
gsdx-tc: don't try to read a 0 pixels texture
...
"Regression" introduced in 8 bits RT support
The case appears when
1/ address of RT is the same as input texture
2/ input format is 8 bits
3/ previous lookup of RT was miss
2015-07-01 09:36:53 +02:00
Gregory Hainaut
a588f61a8a
gsdx: add an assert for unsupported case
2015-07-01 09:36:53 +02:00
Gregory Hainaut
9802ba6621
gsdx-tc: add support of pseudo 8 bits RT conversion
...
Code is obviously slow but at least it works.
It fixes the blur effect of VP2
2015-07-01 09:36:53 +02:00
Gregory Hainaut
77e718c61f
gsdx: disable linear interpolation when converting texture in texture cache
...
It avoid various upscaling glitches on GS post-processing effect
// 1/ Palette is used to interpret the alpha channel of the RT as an index.
// Star Ocean 3 uses it to emulate a stencil buffer.
// 2/ Z formats are a bad idea to interpolate (discontinuties).
// 3/ 16 bits buffer is used to move data from a channel to another.
//
// I keep linear filtering for standard color even if I'm not sure that it is
// working correctly.
// Indeed, texture is reduced so you need to read all covered pixels (9 in 3x)
// to correctly interpolate the value. Linear interpolation is likely acceptable
// only in 2x scaling
//
// Src texture will still be bilinear interpolated so I'm really not sure
// that we need to do it here too.
//
// Future note: instead to do
// RT 2048x2048 -> T 1024x1024 -> RT 2048x2048
// We can maybe sample directly a bigger texture
// RT 2048x2048 -> T 2048x2048 -> RT 2048x2048
// Pro: better quality. Copy instead of StretchRect (must be faster)
// Cons: consume more memory
//
// In distant future: investigate to reuse the RT directly without any
// copy. Likely a speed boost and memory usage reduction.
2015-07-01 09:36:53 +02:00
Gregory Hainaut
ae3b768de9
bump gsdx version to 1.0.0
2015-07-01 09:36:53 +02:00
Gregory Hainaut
839003467e
gsdx-ogl: add support of partial frame buffer masking
...
It might help to fix a bit the color on a couple of games
accurate_fbmask = 1
Code uses GL4.5 extensions. So far it seems the effect is ony used a couple
of time and often in non-overlapping primitive. Speed impact will likely remain small
2015-07-01 09:36:53 +02:00
Gregory Hainaut
87f54ae0ff
gsdx: report error on unsupported case in texture cache
...
It seems to impacts lots of games that still have issue (VP2, MTG3, PoP)
The PSMT32 format is read a PSMT8. I think we need to convert it as PSMT8H (i.e.
unpack it to have only an alpha channel)
2015-07-01 09:36:53 +02:00
Gregory Hainaut
82818dab3c
gsdx-ogl: make some room in AlphaCoefficient variable
...
The idea will be to use the remaining int to store the FB mask
2015-07-01 09:36:53 +02:00
Gregory Hainaut
3b127f663b
gsdx-tc: trace the texture format to detect texture shuffling
...
It fixes games that uses 16 bits RT (like snow engine games)
2015-07-01 09:36:53 +02:00
Gregory Hainaut
33c9e9da0a
gsdx: new generic OI hack
...
To clear a (W, H) RT/Depth, GS can only send a (W , H/2) primitive with
a Z (or RT) pointer in the middle of the buffer
Top-half will be cleared by the color (or the depth).
Bottom-half will be cleared by the depth (or the color).
Code isn't enabled yet but it was tested with success on GoW2.
2015-07-01 09:36:35 +02:00
Gregory Hainaut
42e911c78f
gsdx-ogl: mask alpha channel in depth conversion
...
Might not work if depth is recasted as a rt (we lost the alpha channel)
2015-07-01 09:30:20 +02:00
Gregory Hainaut
05c72980fc
gsdx: avoid to detect PSMT8H as 16 bits
2015-07-01 09:30:20 +02:00
Gregory Hainaut
b62a2d6a3c
gsdx-debug: dump texture in 32 bits when a shuffing effect is detected
...
Otherwise it is unreadable
2015-07-01 09:30:20 +02:00
Gregory Hainaut
6b5a3dedd9
gsdx-debug: add the format in texture cache logging
2015-07-01 09:30:20 +02:00
refractionpcsx2
955fc3aa35
GSdx-DX: Mirror round value change from OGL
2015-07-01 09:30:20 +02:00
refractionpcsx2
af09d7e063
GSdx-DX: Modified shader slightly as some bits were incorrect.
2015-07-01 09:30:20 +02:00
Gregory Hainaut
7ee3dbd615
gsdx-tc: use the virtual function to check the state
...
This ways it will be disabled for dx
2015-07-01 09:30:20 +02:00
refractionpcsx2
de189b67a2
GSdx: Add option to toggle Texture Cache Depth support.
...
- Forced off for DX currently to save fallover.
2015-07-01 09:30:20 +02:00
refractionpcsx2
2dc4e2a04c
GSdx: Gave accurate blend option an extra state, can now do super accurate blending from the GUI
2015-07-01 09:30:20 +02:00
Gregory Hainaut
c925b1d135
gsdx-tc: support GS mem to depth buffer transfer
...
Please test SMT games
(issue #572 )
2015-07-01 09:30:20 +02:00
refractionpcsx2
4bc8bfc23e
GSdx-DX: Rough port of texture switching from OGL
2015-07-01 09:30:20 +02:00
Gregory Hainaut
58ce7d4bb8
gsdx-ogl: emulate texture shuffle
...
GS doesn't supports texture shuffle/swizzle so it is emulated in a
complex way.
The idea is to read/write the 32 bits color format as a 16 bit format.
This way, RG (16 lsb bits) or BA (16 msb bits) can be read or written with
square texture that targets pixels 1-8 or pixels 8-16.
However shuffle is limited. For example you can copy the green channel
to either the alpha channel or another green channel.
Note: Partial masking of channel is not yet implemented
V2: improve logging
V3: better support of green channel in shader
V4: improve detection of destination (issue due to rounding)
2015-07-01 09:30:20 +02:00
Gregory Hainaut
2d812deb84
gsdx-tc: Depth and Target are interchangeable on the GS !!!
...
Extend the texture cache to search Color target in Depth target
2015-07-01 09:30:20 +02:00
Gregory Hainaut
76160505f7
gsdx-tc: add an option to avoid blow up dx :p
...
texture_cache_depth = 1 (default for openGL)
2015-07-01 09:30:20 +02:00
Gregory Hainaut
74d84aafb5
gsdx-tc: allow to search the depth in the old target list
...
Yes it is possible on PS2 world
2015-07-01 09:30:20 +02:00
Gregory Hainaut
b59a347ad7
gsdx-tc: allow to use depth buffer as input texture
2015-07-01 09:30:20 +02:00
Gregory Hainaut
49516cbbca
gsdx-tc: allow to invalidate the depth/target if it is used as target/depth
...
It is requires when game will uses sometimes an address as a RT sometimes as a depth
2015-07-01 09:30:20 +02:00
Gregory Hainaut
35081f922a
gsdx: GS kinds of support draw without framebuffer
...
Gow uses 24 bits buffer, so only color is updated but blending is configured as Cd
so it is a NOP
In this case, we don't lookup the target in the texture cache. It reduces the complexity
to handle depth which can be located at same address as RT
Note: please test DX renderer
2015-07-01 09:30:20 +02:00
refractionpcsx2
c659b1aa18
Merge pull request #617 from ssakash/patch-26
...
Console log message for current renderer.
2015-06-28 13:24:09 +01:00
bositman
59a66f87c3
Merge pull request #611 from turtleli/fix-toggling
...
Fix renderer toggling behavior and other related stuff
2015-06-26 16:34:02 +03:00
Jonathan Li
acc6ad59ba
GSdx: Use correct renderer after config change
...
Rework the renderer selection logic to reload the saved renderer after
it's been changed in the config panel and to properly detect whether a
renderer toggle has been requested.
2015-06-26 00:50:07 +01:00
Akash
4b472bb461
Console log message for current renderer.
2015-06-25 20:15:45 +05:30
Akash
1d4dff9e42
Remove break statement (return already ends the function execution)
2015-06-25 19:48:22 +05:30
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
cd4c8b5ce4
gsdx-debug: resolve alpha equation in the dump file
2015-06-24 19:42:53 +02:00
refractionpcsx2
ee9b1caaa4
GSdx-hw: Custom res native mixup stuff, best fix this one too.
2015-06-23 19:43:04 +01:00
Akash
85c4184ea5
swap value functions for Round sprite hack.
2015-06-23 20:07:46 +05:30
refractionpcsx2
ad71ca4cc8
GSdx-hw: Make sure custom resolution doesn't affect Native Resolution
2015-06-22 17:23:47 +01:00
Gregory Hainaut
7135867119
gsdx: very old typo on option name
...
Windows uses Renderer with an uppercase R
2015-06-20 16:18:10 +02:00
Gregory Hainaut
b44bccec6a
gsdx: fix previous commit with a scaling factor
2015-06-18 23:02:40 +02:00
Gregory Hainaut
5bc8f046b2
gsdx: fix snow engine issue in native resolution
2015-06-18 21:21:25 +02:00
Karasuhebi
4d1ca4bb76
Changes in title bar: DX -> D3D
...
Changed the name of the Direct3D renderers so they would match the way
they are named in GSdx's Plugin Settings window. Also changed a printf
to say OpenCL instead of opencl.
2015-06-18 13:00:29 -04:00
Gregory Hainaut
ab6f26ff4d
Merge pull request #606 from turtleli/gsdx-title-renderer
...
GSdx: Add renderer type to title bar
2015-06-18 09:49:26 +02:00
refractionpcsx2
f5e8503fa5
GSdx: Didn't need to change this :P
2015-06-17 22:41:16 +01:00
refractionpcsx2
c31c04d3db
GSdx: Fix CRC hacks not re-initialising after option change
2015-06-17 22:25:43 +01:00
refractionpcsx2
0b5e0df35d
Epic fail Visual Studio!
2015-06-17 22:11:06 +01:00
refractionpcsx2
fc24f039a8
GSdx: Add CRC Management to Windows Dialog.
...
- Clean up tooltip
- Remove Auto Skip Depth and Disable CRC checkboxes
2015-06-17 22:06:18 +01:00
Jonathan Li
e182251fbc
GSdx: Add renderer type to title bar
2015-06-17 21:59:05 +01:00
Gregory Hainaut
1d84af573d
ofc I didn't test previous commit ater the merge...
2015-06-17 21:55:37 +02:00
Gregory Hainaut
b2f8fe3593
gsdx: drop the auto skip depth hack
...
Just use 1 in skip draw if you want to use it
openGL code will soon be fixed to support depth correctly (and I hope dx in the future)
Conflicts:
plugins/GSdx/GSState.cpp
plugins/GSdx/GSState.h
2015-06-17 21:53:08 +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
c1d39a5f57
gsdx-ogl: drop UserHacks_DateGL4
...
Initial goal was to avoid slowdown in buggy driver
2015-06-16 09:57:45 +02:00
Gregory Hainaut
62beb3aaf4
gsdx: don't do bad stuff if aggressive hack isn't enabled
2015-06-14 10:27:02 +02:00
Gregory Hainaut
f765a195e2
gsdx: Don't set CRC function pointer when disabled
...
Less costly than an extra check for each draw calls
2015-06-14 10:27:02 +02:00
Gregory Hainaut
1699289162
gsdx: move 4 hacks from level2 to level3
...
remains tons of them :(
2015-06-14 10:27:02 +02:00
Gregory Hainaut
1be8d07f85
gsdx: auto CRC management
...
Old way various check boxes to configure the plugin
New way an unified drop down list
* Level 0 (dev only) => disable (mostly) all hacks and auto skip depth.
* Level 1 (dev only ) => enable oi/oo/cu hacks, others remains disabled
* Level 2 (GL) => enable most hacks except a couple of one that were fixed on openGL (speed impact)
* Level 3 (DX) => enable all hacks
* Level 4 => enable also aggresive CRC
Note: windows gui must be updated, and it will be nice to create a global tooltip
2015-06-14 10:27:02 +02:00
Gregory Hainaut
c6220bf836
gsdx-debug: print an error on unsupported draw call
...
Typically GTA
2015-06-14 10:27:02 +02:00
Gregory Hainaut
c11ac928ba
Merge pull request #599 from ssakash/patch-12
...
inclusion of jap version of dr2 in gscrc.cpp
2015-06-11 09:45:41 +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
Akash
343ecca6ba
crc hack
2015-06-10 20:13:27 +05:30
Gregory Hainaut
cbcb7962ce
Merge pull request #593 from turtleli/gsdx-cleanup-and-fixes
...
Gsdx cleanup and fixes
2015-06-10 08:14:44 +02:00
Jonathan Li
b1acc08c58
GSdx: Linux: Fix wording
2015-06-09 19:30:16 +01:00
Gregory Hainaut
4e82073bfc
gsdx-ogl: improve setting bilinear of palette
...
Instead to disable it, uses GS settings
2015-06-09 09:53:50 +02:00
i30817
4e7e7f2dd5
Nocturne, DDS1 and DDS2 CRC hacks to remove motion blur and smudge filter
...
Signed-off-by: i30817 <i30817@gmail.com>
2015-06-09 00:25:33 +02:00
Gregory Hainaut
2503d9698c
gsdx-ogl: re enable bilinear fitlering on palette for paltex mode
...
However keep it disabled for StarOcean 3 use cases
2015-06-08 21:01:18 +02:00
refractionpcsx2
95c2622b7f
Gsdx: Typo'd!
2015-06-07 18:31:51 +01:00
refractionpcsx2
b5171dfe5d
Gsdx: De-crapify Native resolution, potential fix for custom resolutions.
2015-06-07 16:57:55 +01:00
refractionpcsx2
0946958acf
Gsdx: Height change on Gregory's recommendation :)
2015-06-07 16:12:14 +01:00
Gregory Hainaut
c3c29945b2
gsdx-ogl: only set a cst blend factor when Ad is used
...
Fix GT4 and potentially FFX
2015-06-07 16:10:59 +02:00
Gregory Hainaut
5daf7aa98f
gsdx-debug: keep s_n/pop in sync
2015-06-07 12:39:48 +02:00
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
0518aaedc9
gsdx-ogl: unattach palette to avoid noise in debug
2015-06-07 12:39:15 +02:00
Gregory Hainaut
23f8203a22
gsdx-ogl: add some shaders to convert depth <-> color
...
I'm afraid of rounding error
2015-06-07 12:39:00 +02:00
Gregory Hainaut
a5fe8478ae
Merge pull request #575 from PCSX2/gsdx-half-screen-snow-engine-v2
...
gsdx-texture-cache: Improve fix for snow engine game
2015-06-07 10:18:56 +02:00
refractionpcsx2
0a467291f9
Gsdx: Height thing didn't work so well, using old buffer width test again
2015-06-07 03:50:34 +01:00
Gregory Hainaut
0e3349f953
Merge pull request #590 from PCSX2/OpenGL-printf-corrections-removed-shadow-hearts-crc
...
OpenGL printf wording corrections, removed Shadow Hearts CRC
2015-06-06 21:56:07 +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
refractionpcsx2
1fa13163e4
GSDX: Fix for games which change height but keep the same buffer width
...
- Fix for games that specify a double height, like Pool Paradise
2015-06-06 20:24:10 +01:00
Gregory Hainaut
97467f9e30
Merge pull request #579 from PCSX2/drop-vs2010-support
...
Drop vs2010 support
2015-06-06 10:47:16 +02:00
Gregory Hainaut
68e44fd354
gsdx: reload the state when GSconfigure is called
...
It fixes the reloading of openGL option and it avoids
issue during pause/resume.
Fix issue #584
2015-06-06 08:51:53 +02:00
Gregory Hainaut
7e662c50d4
Revert "gsdx: always restore the full gs state object (s_gs)"
...
This reverts commit 2ea049b5a5
.
2015-06-06 00:22:15 +02:00
Gregory Hainaut
4feeaac7d1
Merge branch 'alignment' of git://github.com/xsacha/pcsx2 into xsacha-alignment
...
Gregory: Get all changes but keep C11 code path which will be the future
(if someone can find info on Visual Studio support)
* Keep the old posix api to use address sanitizer on gcc 4.9
Conflicts:
common/build/Utilities/utilities.vcxproj.filters
common/build/Utilities/utilities_vs2012.vcxproj.filters
common/build/Utilities/utilities_vs2013.vcxproj.filters
common/include/Utilities/MemcpyFast.h
common/include/Utilities/StringHelpers.h
common/src/Utilities/AlignedMalloc.cpp
common/src/Utilities/vssprintf.cpp
plugins/GSdx/stdafx.cpp
2015-06-05 20:31:14 +02: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
6c8f7a0147
Merge pull request #580 from PCSX2/issue-565-option
...
gsdx: always restore the full gs state object (s_gs)
2015-06-05 17:51:02 +02:00
Gregory Hainaut
7d124e6a83
gsdx-texture-cache: Improve fix for snow engine game
...
Instead to hardcode the half-buffer size to 0x140, the new code
compute it.
To avoid regression, I limit the code to big target (>= 1024 pixels)
2015-06-05 09:06:12 +02:00
refractionpcsx2
65b83a36a7
GSDX: Removed some printf's I left in.
2015-06-05 00:13:21 +01:00
refractionpcsx2
91f775f3f0
GSDX: Fixed up some of the scaling height settings
...
-Last commit broke Snowblind games again
-Width now based on output circuit
-Try to use the smallest possible while being at least the size of the screen
2015-06-05 00:12:15 +01:00
Gregory Hainaut
6f4ec98bc3
gsdx: try to reduce the size of target as much as possible
...
I suspect too consume too much memory (issue #576 )
2015-06-04 22:15:52 +02:00
Gregory Hainaut
f8f6117ea9
gsdx-debug: allow to track texture move
...
Very painful for the cache and the performance
2015-06-04 22:10:04 +02:00
Gregory Hainaut
979ea92754
gsdx: make png++ optional
...
Some distributions (Fedora) doesn't have a png++ package...
2015-06-04 20:22:05 +02:00
Gregory Hainaut
bd2c04a0ec
ooups bad copy/past
2015-06-04 19:58:58 +02:00
Gregory Hainaut
2ea049b5a5
gsdx: always restore the full gs state object (s_gs)
...
It will force a reload of opengl option
2015-06-04 18:29:31 +02:00
Gregory Hainaut
c2e851b3a5
gsdx-ogl: don't use slow SW blend for nothing
...
When A == B, coeff is 0 so <= 1
When C == 2, just check the value of coeff
Barely faster in accurate_blend = 2
2015-06-04 18:18:47 +02:00
Gregory Hainaut
ba5b367ae8
drop support of Visual Studio 2010
...
* Severals PR uses C++11 features
* 2015 will soon be released
* Win 10 will soon be released
Time to upgrade
2015-06-04 08:55:22 +02:00
Gregory Hainaut
85266abd71
gsdx-ogl: use a 8MB vbo/ibo
...
Dirge of Cerberus draw 143,360 vertices in a single draw!
It is likely to emulate a particle effects
Hopefully improve issue #573
2015-06-04 08:28:40 +02:00
bositman
e34477a497
Merge pull request #547 from pgert/master
...
GSdx > HW-hacks > Rewording comments on duplicate CRC's and minor cleanup
2015-06-03 15:58:28 +03:00
Gregory Hainaut
0d5d94f56e
Merge pull request #570 from ssakash/patch-3
...
Three new Opengl settings for Windows [GUI]
2015-06-03 14:01:39 +02:00
Gregory Hainaut
3dd3bf6e2b
gsdx-ogl: new hidden option accurate_blend = 2
...
Debug option to emulate all blending draw call in the shader
Of course it is slow but it is very accurate
2015-06-03 09:56:07 +02:00
Gregory Hainaut
cd6c93cd9e
gsdx: silly mistake
2015-06-03 09:31:52 +02:00
Akash
f2d193edcf
Add three new Opengl options.
2015-06-02 16:02:56 +05:30
Gregory Hainaut
995ae51bf4
gsdx-ogl: disable a log message
...
Too verbose and code was fixed anyway
2015-06-02 09:28:35 +02:00
Gregory Hainaut
9fe13f7a6b
gsdx linux: fix a memory leak
...
Not important but pollute the valgrind log
2015-06-02 09:28:35 +02:00
refraction
4914620178
GSDX: Fix for 6x Native, fixed GH3 in native mode taking up quarter of the screen after the snowblind changes
2015-06-01 19:04:39 +01: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
9d69ff1f91
gsdx-debug: create the savef option
...
The idea is to easily extract bad frame from gs dump and to compare them
with the sw renderer.
Here the summary of the options:
savet => dump all input textures
save => dump the render target
savez => dump the depth buffer
savef => dump the frame
2015-05-31 17:38:52 +02:00
Gregory Hainaut
d301848848
gsdx-ogl: fix paltex on opengl
...
RT uses as palette must use the alpha channel
Palette texture uses the red channel
2015-05-30 19:01:09 +02:00
Gregory Hainaut
2f2ae2bc89
gsdx-ogl: enable gl tracing on windows
...
Trace info is enabled in dbg/dev build for the opengl renderer
Info is stored in GSdx_opengl_debug.txt when debug_opengl option is 1
2015-05-30 09:58:47 +02:00
Gregory Hainaut
009dd103ae
gsdx-ogl: protect the trace with if statement
...
And mark the function as optional
2015-05-30 09:58:46 +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
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
01e4a5148d
gsdx-ogl: avoid crash in debug/dev build
...
Don't be silly, don't put gl trace in EE thread.
2015-05-29 16:50:27 +02:00
Gregory Hainaut
0cb6c37f14
gsdx-tc: add an explanation of the magic number 0x140
2015-05-29 12:27:05 +02:00
refraction
97b237712c
gsdx: detect RT size based on fb size and gs output configuration
...
* It is required for snowbling games
* Targets of Texture cache are dropped.
2015-05-29 12:26:44 +02:00
Gregory Hainaut
02274601b3
gsdx-ogl: always copy texture into 0,0
2015-05-29 12:18:54 +02:00
Gregory Hainaut
e5326d1bd2
gsdx-tc: allow to reuse the right part of large RT as source
2015-05-29 12:18:54 +02:00
Gregory Hainaut
7ac533a4d1
gsdx-tc: invalidate half-RT src
...
snow engines uses the RT as 2 half RT.
2015-05-29 12:18:54 +02:00
Gregory Hainaut
da0b77e09b
gsdx-ogl: new logo
...
Thanks bmate for the logo.
Close issue #192
2015-05-29 11:05:52 +02:00
refraction
8f54da5fd3
GSDX: Removal of Nvidia hack.
...
- Hack no longer required as an option as a safe and simple workaround has been discovered which seems to work without modifying any vertices.
2015-05-28 21:41:02 +01:00
refraction
5d00c00826
GSDX: Fixed UserHacks_AutoSkipDrawDepth dialog creation on windows.
...
- CheckDlgButton was just wrong
- Changed tag to say "Auto-skip depth" as you could only see "Auto-skip draw" which was highly ambiguous on GSDX!
2015-05-28 21:21:19 +01:00
Gregory Hainaut
31ffdd8c53
Merge pull request #559 from ssakash/patch-5
...
Auto depth skip hack initialization.[GUI]
2015-05-28 19:21:45 +02:00
Gregory Hainaut
8e32d71c07
Merge branch 'patch-3' of git://github.com/ssakash/pcsx2 into ssakash-patch-3
2015-05-28 18:30:49 +02:00
Akash
5f7e09268c
change "D3D Internal Resolution" to "Internal Resolution"
2015-05-28 16:33:16 +05:30
Akash
bf743fec17
add logo for Opengl renderer.
2015-05-28 01:34:51 +05:30
Gregory Hainaut
c43ddaec4f
gsdx: add Castlevania hack explanation
2015-05-26 17:03:13 +02:00
Gregory Hainaut
419dfe0544
glsl: redo color/alpha management correction
...
Please test it!
GS supports 3 formats for the output:
32 bits: normal case
=> no change
24 bits: like 32 bits but without alpha channel
=> mask alpha channel (ie don't write it anymore)
=> Always uses 1.0f as blending coefficient
16 bits: RGB5A1, emulated by a 32 bits openGL texture. I think it will be more correct to use
a real 16 bits GL texture. Unfortunately it would cost several (slow) target conversions.
Anyway as a current solution
=> apply a mask of 0xF8 on color when SW blending is used (improve Castlevania shadow)
unfortunately normal blending mode still uses the full range of colors!
This commit also corrects a couple of blending factor. 128/255 is equivalent to 1.0f in PS2, whereas GPU uses 1.0f. So the blending factor must be 255/128 instead of 2
Note: disable CRC hack and enable accurate_colclip to see Castlevania shadow ^^
(issue #380 ).
Note2: SW renderer is darker on Castlevania. I don't know why maybe linked to the 16 bits format poorly emulated
2015-05-26 16:49:43 +02:00
Akash
ef3247c233
Update copyright license
2015-05-26 19:15:30 +05:30
Akash
99f9407c24
Auto depth skip hack initialization.
2015-05-26 19:13:56 +05:30
Gregory Hainaut
9ee3a173d0
gsdx-ogl: use a local ALPHA register
...
It would allow to easy tune the parameter to support 24 bits format
2015-05-26 15:36:48 +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
93c0d5a268
gsdx-ogl: add an error message when a RT is reused with a format cast
...
For example a 32 bits RT could be used as a 16 bits RT.
It is likely the source of various bug in HW renderer
2015-05-26 11:16:49 +02:00
Gregory Hainaut
a3bbe68d56
gsdx: throw an exception when we miss a mandatory gl feature
...
Gracefully quits when driver is not supported
(like nvidia legacy driver for GTX260)
Please test the impact on windows
2015-05-26 11:03:59 +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
refraction
b84a462798
Unreachable code message was annoying me.
2015-05-26 00:30:12 +01:00
Gregory Hainaut
2704a65f57
gsdx: add some info for Star Ocean3/Valkyrie Profile 2/Radiata Stories
...
Feel free to test those games with CRC disabled on the openGL renderer (native resolution)
2015-05-25 12:37:48 +02:00
Gregory Hainaut
580d177951
gsdx: improve commit 11708486d8
...
This time linear filtering is disabled only for the bad draw call
(RT used as a palette texture).
2015-05-25 09:46:51 +02:00
Gregory Hainaut
99d7434671
gsdx-ogl: disable SSO on nouveau
2015-05-24 19:24:10 +02:00
Gregory Hainaut
11708486d8
gsdx: allow to control the filtering of texture cache
...
When the RT is used as an input texture, we need to rescale it.
Previous behavior was to always uses a linear filtering (more smooth).
Unfortunately it broke some games that expected an exact value like Star Ocean 3
This commit will disable the linear filtering in normal filtering mode (filter = 0
or filter = 2)
This way, shadow of Star Ocean 3 will appear correctly in upscaling (not
100% perfect but can't do better)
Note: SO3 only requires a nearest sampling of the alpha channel but
I don't know the behavior for others games.
2015-05-24 18:59:27 +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
951a1fed94
gsdx-hack: enable auto skip of depth texture for God of War
...
Rendering is quite complex to emulate on the GPU due to several limitation.
Until we find a solution let's enable the old solution
You could find a description of the rendering here:
http://forums.pcsx2.net/Thread-God-of-War-Red-line-rendering-explained
2015-05-24 13:43:36 +02:00
Gregory Hainaut
a70c3bf5de
glsl: correct the alternate implementation of ps_main1
...
Still not yet enabled by default
Potentially it can be optimized with the dot product but special care
need to be taken to ensure float accuracy.
Bonus: it could work on old GPU (aka DX9)
2015-05-24 13:43:36 +02:00
Gregory Hainaut
c82fd94c6c
gsdx-debug: use GL_INS instead of printf
2015-05-24 13:43:36 +02:00
Gregory Hainaut
c01686d252
gsdx-png: add a fixme message for 16 bits by channel image
2015-05-24 12:51:20 +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
c507e816c2
gsdx-ogl: oups forget a break
2015-05-23 13:06:23 +02:00
Gregory Hainaut
b884e0c0c0
gsdx-debug: improve debug experience
...
* Dump context before the increase of s_n
=> aligned with the global call number
* Don't print colclip not supported when it is optimized away
* dettach the input texture when it is useless
=> avoid to show a wrong texture in the debugger
2015-05-23 12:23:05 +02:00
Gregory Hainaut
f665180d11
gsdx-debug: use hex number for texture pointer
...
Easier to grep
2015-05-23 12:20:26 +02:00
Gregory Hainaut
7609fdc576
gsdx: rename too much sr to sRect
2015-05-21 09:48:15 +02:00
Gregory Hainaut
b52ee6f1f6
gsdx-linux-gui: add an option for accurate color clipping
...
Note: it is only for debug purpose
Sotc testcase 187 fps => 125 fps (2x scaling)
2015-05-20 09:42:22 +02:00
Gregory Hainaut
183af4ece6
gsdx-ogl: don't enable SW blending when there is no blending
...
Mostly to avoid useless message
2015-05-20 09:36:01 +02:00
Gregory Hainaut
3d35e4f8ec
gsdx-ogl: implement all blends mode in shader
...
+ 250 lines !!!
2015-05-20 09:11:36 +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
358e0d445b
gsdx-ogl: add a shader to convert depth texture into uint
2015-05-19 18:56:32 +02:00
Gregory Hainaut
ac38ebbf29
Merge pull request #546 from ssakash/patch-3
...
enables Anisotropic filtering option for OGL (HW mode) [Windows UI]
2015-05-19 15:20:12 +02:00
Gregory Hainaut
ec45090358
glsl: implement an alternative of convert 1 shader
...
Code not yet enabled. Quick test show no heavy regression but I need
to carefully validate it.
2015-05-19 13:14:18 +02:00
Gregory Hainaut
a12acc0d24
gsdx-ogl: clean a bit Texture Cache OGL
...
Add a placeholder for depth format but nothing done yet.
2015-05-19 13:14:18 +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
9554b5dd56
gsdx-lzma: drop CONCAT flag
...
I have some issue with it. Unlikely to use multi-stream gs anyway
2015-05-19 13:14:18 +02:00
Gregory Hainaut
fa761a129d
gsdx-linux: add an option to enable/disable recording
...
Avoid to kill the computer/application if the user press F12 by accident
2015-05-19 13:14:18 +02:00
Gregory Hainaut
34202933da
GSdx-linux-recorder: add various option to control it
2015-05-18 19:57:21 +02:00
Gregory Hainaut
388f46b577
gsdx-png: use array interface instead of set_pixel
...
Doc says it is "non-checking equivalent of set_pixel". Still slow as ass
At least syntax is nicer
2015-05-18 17:25:14 +02:00
Gregory Hainaut
a4d6722b26
gsdx-thread: add a CAPACITY parameter to GSJobQueue
2015-05-18 17:08:18 +02:00
Gregory Hainaut
e7665ee7dd
gsdx-linux-recorder: upgrade code to use n threads
...
Unfortunately it requires too much memory (easily 6GB)
2015-05-18 16:56:44 +02:00
Gregory Hainaut
cff168e002
gsdx-linux-recorder: implement multithread to save the image
...
Currently only a dedicated thread. It is still too slow!
2015-05-18 16:56:44 +02:00
Gregory Hainaut
012f1b4f05
gsdx-thread: remove deprecated boost code
2015-05-18 16:55:49 +02:00
Gregory Hainaut
19d9349b0b
gsdx-debug: remove old assert
2015-05-18 16:45:38 +02:00
pgert
c9508298b4
Update GSCrc.cpp
2015-05-18 16:37:28 +02:00
Akash
70b8772bb4
enables Anisotropic filtering option for Opengl (Hardware mode) [Windows UI]
2015-05-18 19:16:22 +05:30
Gregory Hainaut
503459798a
gsdx-linux: add a basic implementation to record the gameplay as png file
...
The idea was to merge them later with ffmpeg or other external tool
It kinds of work but current fps is around 2 !!! So not really usable
The speed issue is related to PNG.
So either the code to store pixels data must be optimized. Or maybe it misses some MT loves :)
2015-05-18 11:56:20 +02:00
Gregory Hainaut
2783da4a22
gsdx-ogl: use a local buffer to store offscreen texture
...
It will allow to read texture in // (and potentially could be useful
for recording)
2015-05-18 11:29:04 +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
540717b295
gsdx-ogl: don't force logz only on debug build
2015-05-18 07:24:26 +02:00
Gregory Hainaut
5c046180a1
cmake: properly add detection of lzma
...
Code is 100% optional.
Code will allow be enabled if lzma-dev is installed at compile time
2015-05-17 22:08:10 +02:00
Gregory Hainaut
98dde32dc0
gsdx-replayer-linux: use new code to allow loading of .gs.xz dump
...
A bit slower at startup but it saves a lots of disk space!
Reduce the size of my gs collection of 11GB :)
2015-05-17 22:08:10 +02:00
Gregory Hainaut
e93f780268
gsdx-replayer-linux: separate a bit parsing and executing code
...
It would ease the porting of the code to read xz file
2015-05-17 22:08:10 +02:00
Gregory Hainaut
86e3c18c33
gsdx-linux: add code to read xz file
...
Linux only to avoid the extra dependency on windows
2015-05-17 22:08:10 +02:00
Gregory Hainaut
5cfb496700
gsdx-ogl: only open debug file once
2015-05-17 14:43:56 +02:00
Gregory Hainaut
7979dec5b0
gsdx-ogl: optimize colclip 0
...
Currently colclip uses 2 passes to wrap the output of blending unit
However some blending mode are only a plain copy (of 0 or Cs or Cd).
So no overflow of [0:255], no need to wrap it
Note: I saw those cases in GoW.
2015-05-17 13:05:08 +02:00
Gregory Hainaut
6ced837360
gsdx-debug: add some PERF info in trace
...
The idea is to detect easily effect that are known to be slow on opengl
2015-05-17 13:05:08 +02:00
Gregory Hainaut
818412ba26
gsdx-debug: fix a crash in trace
2015-05-17 13:05:08 +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
b8aa5f8f80
gsdx-debug: more trace for the texture cache
2015-05-17 13:05:08 +02:00
Gregory Hainaut
8a73849531
gsdx-ogl: enable multithread driver by default for nvidia
...
+ add a linux gui option to disable it (for test purpose)
2015-05-16 15:22:20 +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
2165c68938
oups forget a couple of break
2015-05-16 13:26:55 +02:00
Gregory Hainaut
02b478dfbc
gsdx: plug the new PNG wrapper
...
Drop various duplicated code :)
2015-05-16 12:47:28 +02:00
Gregory Hainaut
8cd533304c
gsdx: new dependency on linux => png++
...
Note: it is only header file that wrap the standard png (which was
already mandatory for wx/sdl)
2015-05-16 12:47:28 +02:00
Gregory Hainaut
cab59587e8
gsdx: add a PNG wrapper
...
Normally it supports all formats but I didn't have luck with 16 bits depth gray
2015-05-16 12:32:05 +02:00
Gregory Hainaut
3f278382a1
gsdx-debug: dump all drawing register
...
Thanks PERL
2015-05-16 11:16:33 +02:00
Gregory Hainaut
8341055f3e
gsdx-ogl: don't enable ogl_texture_storage on catalyst
2015-05-16 00:31:25 +02:00
Gregory Hainaut
a2d605be0b
gsdx: copy past mistake
...
Let's always increment the s_n counter
2015-05-16 00:31:25 +02:00
Gregory Hainaut
cfddcb7a93
gsdx-ogl: typo
2015-05-16 00:31:25 +02:00
Gregory Hainaut
0f01ba4c46
gsdx-ogl: mega boost
...
Enable Nvidia multi thread driver optimization
Enable ogl_texture_storage by default (requires for the speed boost
, later the option will be removed)
2015-05-16 00:31:25 +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
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
d870188d21
gsdx: sed/o/off/
2015-05-15 20:40:09 +02:00
Gregory Hainaut
27d485a940
drop a file that was wrongly commited
2015-05-15 20:34:09 +02:00
Gregory Hainaut
6166c95325
gsdx-ogl: protect PBO with fence
...
Safer and doesn't impact perf too much.
2015-05-15 18:32:47 +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
613e215c73
gsdx-ogl: add some note for the persistent buffer + add a flush
...
Persistent is slower (at least on my gs dump) because data is put
in host instead of the video memory
I don't understand why upload the data directly to the video memory
is faster
2015-05-15 15:25:45 +02:00
Gregory Hainaut
5628bfb20c
gsdx-ogl: drop old code
...
I have group so it doesn't pollute anymore gl trace
2015-05-15 15:25:45 +02:00
Gregory Hainaut
6d8695127f
gsdx-recorder: use recursive mutex
2015-05-14 11:56:07 +02:00
Gregory Hainaut
bd96a73580
gsdx-debug: trace texture cache hit/miss/removal
...
Actually only a small part but I think it is enough to help debugging
tc issue.
Only enable it on debug because it is quite verbose
2015-05-13 09:01:04 +02:00
Gregory Hainaut
5e9a3a424e
Merge pull request #479 from PCSX2/gsdx-texture-cache
...
gsdx: value was wrongly overwritten
2015-05-13 08:08:46 +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
3e784d57e8
gsdx-ogl: add some flags to trace texture state
...
goal1: avoid 2 consecutives clean of the render target
goal2: only invalidate texture correctly
2015-05-12 18:03:06 +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
cb6e8a7d6a
gsdx-linux: Don't enable EGL by default
...
I was hoping that EGL become a standard much more faster. Currently it is an useless dep
so let's disable it by default.
2015-05-11 15:33:40 +02:00
Gregory Hainaut
643b1647c4
gsdx-gui-linux: add some tooltips for the hw options
2015-05-11 14:12:41 +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
f0de7d6386
gsdx-debug: add 2 extra frames in GS dump
...
Initially I was afraid of the size increase but it can be
higly compressed.
Sometimes image was computed inside a RT but never outputed to
the screen which remains black. It is annoying to see the glitches
2015-05-11 13:45:24 +02:00
Gregory Hainaut
b3d8981a22
gsdx: link replayer to png to avoid link failure
2015-05-11 13:24:40 +02:00
Gregory Hainaut
eff4ac3e4a
gsdx-ogl: update UBO hint
...
On Nvidia, DYNAMIC is a bit faster.
2015-05-11 12:35:41 +02:00
Gregory Hainaut
59f7e4d2dc
Revert "gsdx linux: drop aligned stack option"
...
This reverts commit 2dcffe7fa4
.
2015-05-11 12:15:38 +02:00
Gregory Hainaut
2dcffe7fa4
gsdx linux: drop aligned stack option
...
I think the bug was related to a wrong declaration of exported function without stdcall
2015-05-11 11:35:34 +02:00
Gregory Hainaut
286fe4db8c
cmake/gsdx: check png++ is installed to support png image
...
Otherwise fallback to bmp file
2015-05-11 11:32:13 +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
51ed3e63e9
glsl: oups forget to remove a line
2015-05-10 10:39:23 +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
390811f414
gsdx-debug: Dump in PNG on linux & dbg/dev build
...
Keep BMP for standard user of release build
2015-05-09 18:41:17 +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
7fac25edb0
glsl: add shader implementation of impossible blend
...
Issue: I don't know if destination alpha value must be multiplied by 2.0f
2015-05-09 15:02:34 +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
472608b879
gsdx-ogl: add accurate blending implementation
2015-05-09 15:02:13 +02:00
Gregory Hainaut
1e8aea033c
gsdx-ogl: add a wrapper to control the drawing of primitives
...
No barrier => draw all primitives
Barrier but without overlap => draw all primitives
Barrier with overlap => draw primitive by primitve
It will ease the implementation of accurate blending and why not date too
2015-05-09 15:01:39 +02:00
Gregory Hainaut
625d65d4b4
gsdx-ogl: encode the bogus id as shader parameter
2015-05-09 14:55:44 +02:00
Gregory Hainaut
bc5de8df6b
gsdx-ogl: disable FF blend when blend is done in shader
2015-05-08 20:28:50 +02:00
Gregory Hainaut
380e420cdd
gsdx-ogl: add a blend parameter to shader
2015-05-08 20:28:50 +02:00
Gregory Hainaut
9023f5f0db
glsl: drop useless ifndef
...
I often mix them with the real value...
.
2015-05-08 19:28:17 +02:00
Gregory Hainaut
8e1db43431
gsdx-debug: debug stuff
2015-05-08 19:28:17 +02:00
Gregory Hainaut
3c66da4d82
gsdx: remove old code
2015-05-08 19:28:16 +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
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
4c91bab00e
gsdx: fix compilation error on release build
2015-05-08 19:28:00 +02:00
Gregory Hainaut
6d31124d3a
gsdx-debug: only enabled advance gl debugging on linux
...
It will avoid some crash on windows for driver that doesn't support
the extension.
Make debug support mandatory for debug build on linux.
2015-05-08 09:54:34 +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
544a923e32
gsdx: Add an option to control auto skip of depth texture
...
Default is 1 if the user enable hack.
It fixes GTA sun effect and likely others bugs.
Please someone add a windows GUI option.
2015-05-07 23:54:22 +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
d20501739f
Merge pull request #528 from ssakash/patch-1
...
sync with GSdx.ini variable.(fix earlier typo)
2015-05-07 22:15:41 +02:00
Gregory Hainaut
fda746ff93
gsdx-gui-linux: support 3 states hack options
...
Based on a Combo Box on linux. As good as 3 states check buttons
2015-05-07 22:13:49 +02:00
Gregory Hainaut
d69ffa9b8b
gsdx-gui-linux: move remaining table filling into small functions
2015-05-07 22:13:49 +02:00
Gregory Hainaut
b39b9c9f55
gsdx-gui-linux: use callback everywhere
...
Note: texture offset doesn't work nicely (you need to press enter
to validate the change)
2015-05-07 22:13:49 +02:00
Gregory Hainaut
d428e0d19d
gsdx-gui-linux: move table filling into separate function
...
It is much easier to read this way. I need to use callback for the remaining
object before I can move everything out of main function.
2015-05-07 22:13:49 +02:00
Gregory Hainaut
917a6c28e5
gsdx-gui-linux: factorize code
...
* Use wrapper and callback for Check Button/Spin Button/Combo Box
* Use TheApp.m_gs vector to create combo box
Remove nearly 100 lines of code ^^
2015-05-07 22:13:49 +02:00
Gregory Hainaut
ba21879059
gsdx-ogl: 1x aniso <=> off
2015-05-07 22:13:49 +02:00
Gregory Hainaut
e6560f348e
gsdx: add vector option for linux & openGL
2015-05-07 22:13:49 +02:00
Gregory Hainaut
8f1d00292b
gsdx-ogl: allow to control vsync on Windows
...
Issue #529
Completely untested
2015-05-07 18:41:10 +02:00
Gregory Hainaut
6095f40baf
gsdx-ogl: add the number of free bit in selector structs
2015-05-07 18:41:10 +02:00
pgert
9a083d5506
gsdx: crc hacks: few new crcs, few crcs region changes
...
Signed-off-by: Avi Halachmi (:avih) <avihpit@yahoo.com>
2015-05-07 15:57:50 +03:00
Gregory Hainaut
97fad356b8
gsdx-ogl: fix debug build for AMD/Intel HW
2015-05-06 19:09:13 +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
Gregory Hainaut
3fcac07120
gsdx-ogl: print some message when blending is not properly supported
2015-05-06 19:09:12 +02:00
Gregory Hainaut
6fca3b421d
gsdx-debug: dump register context in a .txt file
...
+ Realign s_n number if frame is skipped
This way it is easier to understand current draw. It also eases
comparaison between SW/HW.
2015-05-06 19:09:12 +02:00
Akash
24e37d2dea
sync with GSdx.ini variable.(fix earlier typo)
...
fixed the description for round offset hack.
fixed the new description for round offset hack.
2015-05-05 23:01:46 +05:30
Gregory Hainaut
5d4bc5c8fe
Merge pull request #516 from PCSX2-underground/master
...
round offset UI initialization
2015-05-05 17:48:53 +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
Akash
302ce51efe
round offset UI explanation
...
initialization of IDC_ROUND_SPRITE
set&get config for round offset.
three state checkbox for the hack.
define IDC for round offset.
Linux (GUI) refresh.
typo
2015-05-05 00:29:00 +05:30
Gregory Hainaut
7bfee7e377
gsdx-debug: stop the dump after a limited number of draw call
...
Otherwise it fills your disk in a short time with useless data.
2015-05-03 16:46:48 +02:00
Gregory Hainaut
c1ddad2d25
gsdx-linux: Refresh the GUI
...
* Use table everywhere (better alignment)
* Factorize Box/Frame creation
* Factorize table insertion
* Add Anisotropic Filtering support
2015-05-03 16:36:48 +02:00
Gregory Hainaut
ae70344fbc
gsdx-ogl: fix 2 passes DATE with GL42 (override_GL_ARB_shader_image_load_store = 1)
...
It fixes shadows issue with Persona 3
2015-05-02 16:56:18 +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
f37ef105c5
gsdx-ogl: add support for anisotropy
...
Close feature request #447
2015-05-02 10:54:58 +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
73d04e33e9
gsdx ogl: clean various comment and old code
2015-05-01 20:04:23 +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
e17ba1c143
gsdx ogl: disable logz when ARB_clip_control is supported
...
Basically any recent drivers but Catalyst...
2015-05-01 15:01:08 +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
a0c17ae0a4
gsdx: use vertex storage by default
...
It is faster on games that draw lots of primitives and in low upscaling.
2015-05-01 14:05:45 +02:00
Gregory Hainaut
004fa7aea4
gsdx debug: allow to dump alpha channel as a gray texture
...
I would love to find an image viewer that allow to mask channel of the image
2015-05-01 13:38:58 +02:00
Gregory Hainaut
c8a3db114c
gsdx debug: create savet option
...
0: don't dump input texture
1: dump input texture
Now, you can do a first pass with only RT. When you find the wrong call, you can redump the input texture of the bad draw.
2015-05-01 13:35:21 +02:00
Gregory Hainaut
f96a653d05
gsdx-ogl: GSVertexArrayOGL uses ASSERT with condition
...
Remove useless indentation too
2015-05-01 12:16:26 +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
c76e66f8d2
gsdx-ogl: fix read back of render target
...
Initial code use a PBO to do asynchronous transfer. It is silly because
GSdx doesn't use this free time. So let's use a sync read. Same speed but
no PBO to manage.
2015-05-01 01:26:44 +02:00
Gregory Hainaut
de52ce956a
gsdx linux: update gui
...
Clear texture was dropped but texture_barrier was added
2015-05-01 01:00:11 +02:00
Gregory Hainaut
7367b22e03
gsdx-ogl: reduce toggling of scissor state for DATE
2015-05-01 00:59:49 +02:00
Gregory Hainaut
71e517108d
gsdx-ogl: fix colclip
...
Sotc shadow and likely various games :)
Thanks to pseudo
2015-04-30 23:08:05 +02:00
Gregory Hainaut
25997647f2
gsdx-ogl: add ENABLE_OGL_PNG_OPAQUE to dump texture without alpha
...
Alpha is nice but fully transparent texture suck
The best will be an image viewer that can toggle the alpha channel
2015-04-30 23:06:54 +02:00
Gregory Hainaut
39a5d4c839
gsdx: add PNG support for SW renderer
...
Easier to compare
2015-04-30 20:13:24 +02:00
Gregory Hainaut
b65a62096f
gsdx-ogl: drop support of ENABLE_OGL_DEBUG
...
Stencil can be read by GL debugger due to correct mask configuration
2015-04-30 20:02:51 +02:00
Gregory Hainaut
8a52fdab57
gsdx-ogl: allow to dump texture as png file
...
-- slower (but that a debug feature)
++ smaller (40x-50x)
++ native support of alpha
Require libpng++ and the define ENABLE_OGL_PNG
Note: depth is not supported yet.
2015-04-30 20:02:50 +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
7887d7b5a5
gsdx-ogl: use less verbose code
2015-04-30 19:55:41 +02:00
Gregory Hainaut
f0181d98fd
gsdx-ogl: save the texture state
2015-04-30 09:57:30 +02:00
Gregory Hainaut
0ab0c6cfba
gsdx: verbose debug option
...
Print opengl error message on stderr
Rename Debug.txt into GSdx_opengl_debug.txt
2015-04-27 19:30:03 +02:00
Gregory Hainaut
eaa0dae305
glsl: drop invariant qualifier
...
Fix issue #510 and potentially it allows the compiler to better optimize the code
2015-04-27 18:52:55 +02:00
Gregory Hainaut
46ff4dc3d3
gsdx-ogl: hardware unit only support normalization of 4 bytes...
...
(At least on recent AMD GPU)
2015-04-27 18:51:59 +02:00
Gregory Hainaut
301fe869c7
glsl: improve the logz handling
...
This way only 0 and 1 will conflict
2015-04-26 17:51:33 +02:00
Gregory Hainaut
768ae342c3
gsdx: move buffer check after allocation
2015-04-26 17:51:06 +02:00
Gregory Hainaut
346ef1eec2
gsdx-ogl: ouch! Properly check the creation of vertex buffers
2015-04-26 11:01:55 +02:00
Gregory Hainaut
6a3250cad2
gsdx-ogl: fix logz management (FFXII)
...
The issue is that z+1 overflow if z is UINT max
log2(z) overflow if z is 0
So let's use an or 1 to avoid both overflow
2015-04-25 20:23:26 +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