Shanoah Alkire
5d4ae31ba1
Add a few default functions in explicitly. (-Wdeprecated-copy)
2019-05-11 19:18:18 -07:00
Shanoah Alkire
284880f768
GSdx: Variables should be initialized in the order in which they are declared. (-Wreorder)
2019-05-11 19:00:29 -07:00
Kojin
2d46bc661d
gsdx-d3d11: ensure texture size of at least 1x1
2019-05-11 22:23:12 +02:00
lightningterror
9a5225dfdf
gsdx-hw: Purge GSC_SimpsonsGame crc hacks.
...
Upscaling issue can be resolved with Half Pixel Offset Normal.
2019-05-05 23:37:18 +02:00
lightningterror
be46832c7b
gsdx-hw/gamedb: Add Star Wars - The Force Unleashed to gamedb and crc list.
2019-05-03 00:47:45 +02:00
lightningterror
637f777ea9
gsdx-hw: Update OI_StarWarsForceUnleashed hack.
...
Remove hack that was replaced by OI_GsMemClear and OI_DoubleHalfClear.
2019-05-02 22:53:44 +02:00
lightningterror
eb0d22626f
gsdx-hw: Purge GSC_StarWarsForceUnleashed crc hacks.
...
Shadows are rendered correctly with basic blending on opengl, high on
d3d11.
2019-05-02 21:07:46 +02:00
Kojin
de0c4a7fc7
gsdx-hw: Check for null texture before commit in hacks. ( #2951 )
...
Issue ##2943
2019-05-02 19:57:00 +02:00
lightningterror
5a69a2f689
gsdx-sw: Add an option to toggle auto flush on sw renderer.
...
Windows + Linux.
2019-05-02 15:35:55 +02:00
Gregory Hainaut
ead3d21bdb
gsdx ogl: commit texture in copy function
...
So far not yet used but safer this way
2019-04-26 12:40:04 +02:00
Gregory Hainaut
568b96b885
gsdx ogl: only always uncommit texture in debug build
...
It is good for memory but bad for the speed. There is likely a better trade-off
but it should be enough for now
2019-04-26 12:40:04 +02:00
Gregory Hainaut
70c3c1a48f
gsdx ogl: always commit a sparse texture when force_texture_clear is enabled
...
The goal is to ensure the behavior of the option. VRAM usage isn't important
as option is mainly intented for debug purpose.
2019-04-26 12:40:04 +02:00
lightningterror
e77aac0bf1
gsdx-ogl: Do some integer casts for destination texture commit to StretchRect.
...
Fixes warning.
2019-04-26 12:40:04 +02:00
Gregory Hainaut
bdcf83ca45
gsdx ogl: sparse texture : only commit new area
...
Avoid potential driver overhead
2019-04-26 12:40:04 +02:00
Gregory Hainaut
bb306dfe90
gsdx hw: commit texture before a clear in OI hack
...
Note I didn't bother to compute the draw region for single game hack.
Gain would be 0 if game doesn't suffer of memory issue in the first place
2019-04-26 12:40:04 +02:00
Kojin
116a5d822c
gsdx-ogl: update Save() to use committed size of texture
2019-04-26 12:40:04 +02:00
Kojin
9618283217
gsdx-ogl: Add detection of Sparse Depth in isDss()
2019-04-26 12:40:04 +02:00
Kojin
55e95cc552
gsdx-ogl: add destination texture commit to StretchRect
2019-04-26 12:40:04 +02:00
Kojin
e9989a5966
gsdx: enable sparse render target in TC
2019-04-26 12:40:04 +02:00
Kojin
a1cdeb2fd1
gsdx: add uncommit in recycle
2019-04-26 12:40:04 +02:00
Kojin
4e675ef6e1
gsdx-ogl: add texture commit ogl renderer
2019-04-26 12:40:04 +02:00
Gregory Hainaut
ba782e90c8
gsdx ogl: enable sparse feature on GSdevice interface
...
Note: remain
* To really use sparse texture
* To debug it ^^
2019-04-26 12:40:04 +02:00
Gregory Hainaut
16d5f477ff
gsdx ogl: implement CommitPages
2019-04-26 12:40:04 +02:00
Gregory Hainaut
e8b2d036ee
gsdx ogl: handle creation of sparse texture
2019-04-26 12:40:04 +02:00
Gregory Hainaut
9e7069f374
gsdx hw: add API to manage sparse texture allocation
...
DX/GL should implement "CommitPages" to really commit memory
Note: CommitPages should also update the m_committed_size member
2019-04-26 12:40:04 +02:00
Gregory Hainaut
643ed528c2
gsdx hw: allow to create sparse texture at device level
...
Obviously texture allocation should be updated too
2019-04-26 12:40:04 +02:00
lightningterror
3408d1a873
gsdx-d3d11: Move colclip code to blending function.
...
Also disable a log that was accidentally enabled/pushed.
2019-04-25 16:48:07 +02:00
lightningterror
a0c6c1cb9f
gsdx-hw: Forgot to remove a crc region check for dbzbt2-3, no longer needed.
2019-04-25 16:34:28 +02:00
lightningterror
8eab618502
gsdx-hw: Purge crc hacks that had their half screen issues resolved (Texture shuffle case).
...
DBZBT2, DBZBT3, MetalGearSolid3.
2019-04-25 15:08:51 +02:00
Kojin
34ac15f7eb
GSdx-hw: Add secret ini option to disable TS half bottom detection
2019-04-25 13:42:47 +02:00
Kojin
7eb0b0ac65
GSdx-hw: Add automatic detection of half-bottom in TS
...
Typical shuffle case is 1/2 height so other half is undesired
In dbz we split the depth buffer.
- Sample first half, write to `0x0`.
- Sample second half, write to `0x800`
- Finally, sample `0x0` though `0xffc`
Crash Twinsanity is a similar case.
2019-04-25 13:42:47 +02:00
Kojin
97612edd58
GSdx-hw: Move src to protected member
2019-04-25 13:42:47 +02:00
Kojin
6af2f7ef46
GSdx-hwtc: Propagate valid area from dst to source
2019-04-25 13:42:47 +02:00
Kojin
acf771edd8
GSdx-hw: Store bounding rectangle in protected member
2019-04-25 13:42:47 +02:00
lightningterror
c3f36ad430
gsdx-gui: Separate opengl and direct3d blending options.
...
A short summary how d3d option behaves compared to gl.
None d3d-> behaves the same
Basic d3d-> even less than 1/3 of Basic opengl.
Medium d3d -> less than 1/3 of Basic opengl.
High d3d -> 1/3 of Basic opengl.
Note: Medium and High options are mostly intended for debug use.
2019-04-23 15:24:04 +02:00
lightningterror
d4b62444d1
gsdx-d3d11: Adjust fbmask code on d3d11.
...
Add the remaining code and separate it in levels because dx sux.
Basic blending mode -> doesn't enable fbmask on texture shuffle and
triangle primitives.
Medium -> doesn't enable fbmask on triangle primitives.
High mode- > fully enables fbmask, note it's still not on par with
opengl because we miss sw blending for some games.
Also keep in mind that High Blending option on d3d11 is like 1/3 of
Basic Blending option on GL.
2019-04-23 15:24:04 +02:00
lightningterror
641df126c4
gsdx-d3d11: Don't enable fbmask on triangle primitives.
...
It is quite slow due to fb copy on d3d, add potential notes for future
improvements so I don't forget what I wanted to do.
2019-04-22 05:07:42 +02:00
lightningterror
e72aa23436
gsdx-gui: Purge the aout (Alpha hack) from the gui, will be useless with fbmask emulation, enable blending option on d3d11.
...
Blending option allows us to toggle fbmask on or off with at least basic
level just like on gl.
2019-04-22 05:07:42 +02:00
lightningterror
de5e9a85bb
gsdx-d3d11: Partial port of frame buffer masking from opengl.
...
It works on games such as Fifa Street 1 and 2 (character and stage
rendering), mission impossible operation surma (shadow rendering).
It needs at least Basic level of blending enabled on d3d11.
2019-04-22 05:07:42 +02:00
lightningterror
9d60d6acfd
gsdx-d3d11: Remove old aout code.
...
Will be replaced with fbmask code in next commits.
2019-04-22 05:07:42 +02:00
Tyler Wilding
08d923ca6f
recording: Append copyright headers
...
Squashed commits:
[47be08613] recording: Forgot to refactor the usage of std::size
2019-04-21 00:45:44 +02:00
Tyler Wilding
64104ca9fd
gui:recording: Revert addition of Screenshot As, will contribute as separate PR
...
Along with changing the .bmp file naming scheme.
2019-04-21 00:45:44 +02:00
Tyler Wilding
413ba4b430
GSdx: implemented saving a snapshot to a dialog provided file path
2019-04-21 00:45:44 +02:00
Avindra Goolcharan
4d88a57f27
gsdx-gui: Fixes typos on the tooltip for disabling safe features. ( #2931 )
2019-04-20 04:52:28 +02:00
lightningterror
ac1bc9d6fc
gsdx-hw: Move GSC_RadiataStories, GSC_StarOcean3, GSC_ValkyrieProfile2 crc hacks to D3D level.
...
Follow up from the previous commit which is bypassing the texture cache
when the frame buffer is sampled.
Crc hacks are no longer needed on opengl.
Note: it requires at least Basic blending support.
2019-04-17 03:48:30 +02:00
Gregory Hainaut
f406051ed9
gsdx ogl: Bypass the texture cache when the frame buffer will be sampled.
...
Proof of concept. It should provide a huge speedup when accurate
blending is enabled for tri-ace / Jak / R&C (shadow rendering).
See #2894
Need PR#2892
v2: Add const + comment to explain that code isn't ideal.
2019-04-17 03:48:30 +02:00
lightningterror
52da124a2b
gsdx-ogl: Check if primitives are triangles instead of overlapping.
...
Single triangle draw can now hit the tex_is_fb path.
Primitive Overlap will return no overlap for single primitive (triangle).
Ratchet and Clank, Jak, tri-Ace games.
It should improve shadow rendering.
Idea by Gregory.
2019-04-10 12:33:31 +02:00
Kojin
73e3072715
GSdx-d3d11: Enable break on D3D message
...
Enable automatic breaking on d3d11 messages:
- D3D11_MESSAGE_SEVERITY_CORRUPTION
- D3D11_MESSAGE_SEVERITY_ERROR
- D3D11_MESSAGE_SEVERITY_WARNING
- D3D11_MESSAGE_SEVERITY_INFO
Hidden option dx_break_on_severity bitfield
Debug build only.
2019-04-08 00:45:50 +02:00
lightningterror
508a8b477e
gsdx-hw: Disable automatic mipmapping on Jak games for now.
...
It crashes the emulator so until the issue is resolved properly comment
out/disable automatic mipmapping for jak games.
Issue #2916
2019-04-07 19:50:46 +02:00
lightningterror
9c222f8efe
gsdx-hw: Some minor comment and code adjustments.
2019-04-04 02:13:57 +02:00
lightningterror
e73607395b
gsdx:-debug: Update previous GSDrawingContext commit to show log only on gl sw renderer.
...
Follow up from:
46e63c1f17
2019-03-26 14:40:17 +01:00
Gregory Hainaut
a16fe6f016
gsdx TC: remove dead code
...
src->m_texture is always NULL, set in Source constructor
Potentially it was a leftover of msaa or the commented code to handle mutable FBW
2019-03-26 14:22:34 +01:00
Gregory Hainaut
374374fdf1
gsdx ogl: disable sparse in extenstion detection
...
* Allow to keep automatic as default value in the option
* You need to force enable sparse in the option to enable sparse
2019-03-26 14:22:23 +01:00
lightningterror
535b0d4aac
gsdx-ogl: Disable sparse depth on amd.
...
* Bad driver as usual.
* Driver reports a compatible sparse format for depth texture but it isn't attachable to a frame buffer.
2019-03-26 14:22:16 +01:00
lightningterror
f5bf1f655d
gsdx-hw: Add another Sly 2 prototype/beta disc to crc list.
2019-03-17 20:47:40 +01:00
lightningterror
a30f642860
gsdx-hw: Purge GSC_NarutimateAccel, GSC_Naruto crc hacks.
...
Naruto Shippuden - Narutimate Accel 3,
Naruto - Narutimate Hero 3.
Depth effects (shadows) rendered correctly.
2019-03-17 05:34:13 +01:00
lightningterror
0d5ae808ef
gsdx-gui: Fix overlap issue with Rendering threads text.
...
Issue was visible only on gsdumpgui.
2019-03-17 05:04:08 +01:00
lightningterror
c8d4d5528e
gsdx-ocl: Fix some compile warnings.
2019-03-12 02:36:49 +01:00
lightningterror
e9e7580582
gsdx-gui: Properly grey out opencl device text when opencl is enabled, also some minor cleanup.
2019-03-12 01:49:48 +01:00
lightningterror
7354c1fa0d
gsdx-hw: Update a few crc issue categories for several games.
2019-03-08 19:33:28 +01:00
lightningterror
889001c026
gsdx-hw: Move GSC_Okami to Aggressive level.
...
Upscaling issues, hack needs to be updated because it removes too many
effects. Maybe HPO or Wild Arms offset are fine, needs further testing.
2019-03-08 19:23:03 +01:00
lightningterror
910ef1db41
Gsdx hw: Purge GSC_TalesOfAbyss crc hacks.
...
Depth and channel shuffle rendered correctly on all renderers.
Also add some missing crc ids for Tales of Abyss.
PS: I'm ninjaing 3000 builds on the buildbot 😄
2019-03-08 16:13:39 +01:00
lightningterror
47c255be2c
gsdx-gui: Adjust advanced settings and hacks gui.
...
Allow to open Advanced settings and hacks window even when hw hacks are
off, this should allow OpenGL advanced settings to be configured even
when hw hacks are off in the gui since the options are configurable
wihtout depending on hw hacks checkbox.
Hw hacks will be greyed out when the checkbox button is not enabled.
New behavior will only be present on opengl hw gui. Direct3d11 will remain the same.
2019-03-06 18:11:26 +01:00
lightningterror
8219bcd1b4
gsdx-hw: Move GSC_YakuzaGames to partial level.
...
Don't enable hack on native res if crc is below aggressive. Upscaling
issues.
Bonus, revert recent barrier changes on gl date code.
2019-03-05 12:39:07 +01:00
lightningterror
e36976bf86
gsdx-d3d11: Minor adjustments to DATE code.
...
Run fast accurate date instead of alpha stencil when accurate date is
enabled on supported calls, also update some logs and comments.
2019-03-04 20:35:09 +01:00
lightningterror
e48ce1bc69
gsdx-ogl: Minor adjustments to DATE code.
...
Don't set DATE true when Accurate Date is off, DATE is true anyway so
no need to set it again.
Don't call full barrier for DATE 45 at the date selection, do it
at the shader call check. It's the same, plus we avoid extra checks.
2019-03-04 19:39:58 +01:00
lightningterror
46e63c1f17
gsdx-debug: Use gl GL_INS print macro for a log instead of relying on debug build.
...
In GSDrawingContext.
Also some minor format cleanup to match the rest of the code.
2019-03-04 19:39:47 +01:00
lightningterror
5c23a9fac0
gsdx-gui: Update blending option.
...
Change the name to Accurate Blending so it fits more with Date option
next to it, get rid of low/high end recommended nametag for the list and
just use Recommended for Basic level, lot of users seem to be using high
for "high end pc" which they shouldn't.
2019-03-03 00:47:40 +01:00
lightningterror
425059d882
gsdx: Forgot to move the crc state for mgs3 and ace combat 4.
...
crc hacks are aggressive only. Fixes regressions mentioned in
https://forums.pcsx2.net/Thread-Metal-Gear-Solid-3-OpenGL-Issue-with-Latest-Builds
2019-03-01 08:37:04 +01:00
lightningterror
8a9abd8a1b
gsdx: Purge depth crc hack for GSC_RadiataStories.
...
Effects rendered correctly, blur/ghosting upscaling issues can be
resolved with HPO special.
2019-02-25 11:35:27 +01:00
lightningterror
79a38858d1
gsdx: Purge GSC_CrashNburn crc hacks.
...
Depth, texture shuffle rendered correctly.
@MrCK1 did the tests. PAL needs to be tested as well.
2019-02-24 22:12:27 +01:00
lightningterror
8e8598412d
gsdx: Purge all crc hacks for GSC_OnePieceGrandAdventure and GSC_OnePieceGrandBattle.
...
Texture shuffle and hdr colclip.
Effects rendered correctly.
2019-02-23 06:52:40 +01:00
lightningterror
930f07df4a
gsdx: Purge depth crc hack for Haunting Ground.
...
Effects rendered correctly on all renderers.
2019-02-22 17:18:58 +01:00
Gregory Hainaut
e56f75fe9a
gsdx hw:move vertices fixup for texture shuffle in RendererHw
...
Bonus: fix m_vt value
2019-02-22 16:57:59 +01:00
lightningterror
80f8de5e0b
Revert "gsdx-gui: Use a separate drop down list for sparse texture."
...
This reverts commit 61c4df0375
.
It was a bad idea from the start.
2019-02-20 17:42:49 +01:00
lightningterror
61c4df0375
gsdx-gui: Use a separate drop down list for sparse texture.
...
It's temporary until sparse texture is fully implemented.
Force Disabled should be Default option.
2019-02-20 16:56:51 +01:00
lightningterror
e55fcae981
gsdx d3d11: re-normalize coordinate when TEX0 is invalid.
2019-02-20 13:49:57 +01:00
Gregory Hainaut
29aef04fbf
gsdx ogl: re-normalize coordinate when TEX0 is invalid
...
Fix #258
Fix #695
2019-02-20 13:49:57 +01:00
Gregory Hainaut
12dcb701c7
gsdx: add a function to fix the TEX0 register value for HW renderer
...
Based on the SW renderer
2019-02-20 13:49:57 +01:00
Gregory Hainaut
6df9eb8dab
gsdx: Allow to save and restore drawing context
...
Purpose is to allow edition of the context for current draw call
2019-02-20 13:49:57 +01:00
lightningterror
9c60541f3c
gsdx-gui: Adjust psx compat gui.
...
Fix up options to properly disable on Null render.
Clean up some resource defines.
2019-02-20 13:38:49 +01:00
lightningterror
c6f57c0bdb
gsdx: Save hotkey toggle to ini config.
...
This will allow to save hotkey option toggling to the ini which
should fix gui updating with hotkey toggles.
Note: Render hw/sw switch doesn't work.
Also update some options that didn't have hotkey nametag.
2019-02-20 11:07:02 +01:00
lightningterror
8cb6d255ca
fxaa.fx: Purge d3d9 shader code.
...
Looks like I forgot this one.
2019-02-19 15:36:15 +01:00
lightningterror
cc2fda6d6d
gsdx-gui: Add hotkey nametags to some options that have hotkey support already.
2019-02-18 05:11:43 +01:00
Gregory Hainaut
31d95448ed
gsdx device: use same target for fxaa/shaderboost/shaderfx
...
It avoid to waste VRAM memory
2019-02-13 19:52:43 +01:00
Gregory Hainaut
45dfb0dcdb
gsdx device: use generic resize texture function
...
V2: add missing size for merge and interlace
2019-02-13 19:52:43 +01:00
lightningterror
a130fcaa4e
gsdx-gui: Adjust some button positioning and window width.
...
"Symmetry"
2019-02-13 13:07:33 +01:00
lightningterror
119ab90657
gsdx: Reuse same selected renderer image/banner for ps1 emu compatibility as ps2.
...
There's no need to have duplicate images that basically do the same
thing. Update the gui to reflect latest changes and use the same images
on both. It will reduce plugin size.
Remove old images and update VS project files.
2019-02-13 12:30:00 +01:00
lightningterror
5a4541f2f4
gsdx: Adjust/cleanup ini options.
...
Opencl device, Alpha, Alpha stencil are windows only options so no need
to clutter ini on linux with useless stuff.
2019-02-13 11:06:02 +01:00
lightningterror
12b622c9c1
gsdx: Cleanup/update Wild Arms offset hack.
...
Don't use integer for the variable, option has only on and off states.
Use member variable names and adjust some checks.
2019-02-13 10:28:07 +01:00
lightningterror
19586fdd7f
gsdx: Move GSTexturecache files from Common to HW renderer.
2019-02-11 18:18:02 +01:00
lightningterror
ca002c56e5
GSdx: Adjust Burnout crc hacks to work on multiplayer mode as well.
...
Yellow stripes crc hack.
Note: Only Takedown was tested but other games should work as well.
2019-02-09 21:42:38 +01:00
lightningterror
7406e13028
gsdx-egl: Also do the same for egl pointer logs.
2019-02-09 11:16:51 +01:00
lightningterror
cc6ac657f8
gsdx-ogl: Enable function pointer support logs only when "debug_opengl" is enabled in the ini.
...
They are mostly for debugging driver issues so regular users don't
actually need to see them most of the time.
2019-02-09 11:10:00 +01:00
lightningterror
dabc99f466
gsdx-ogl: Small colclip improvements.
...
1. Allow hrd colclip to also run on the unsupported
cases which should be pretty rare.
2. Remove colclip from high sw blending.
3. Disable the hdr colclip shader which may not be
actually required to run.
Idea by Gregory
2019-02-08 14:53:15 +01:00
lightningterror
b5f0959e6d
GSdx-gui: Set ini option to 0 for sparse texture since the feature is not yet implemented,
...
also add tooltip for the gui option.
2019-02-07 18:38:40 +01:00
lightningterror
a9e622357a
gsdx-ogl: Fix override detection for extensions.
2019-02-07 18:38:40 +01:00
lightningterror
371b52f4f3
gsdx-gtk: Add linux option for Sparse Texture in advanced options.
2019-02-07 18:38:40 +01:00
lightningterror
ad0279a0ab
gsdx-gui: Add windows option for GL Sparse Texture in advanced options.
2019-02-07 18:38:40 +01:00
lightningterror
96623acdcd
gsdx-ogl: glTexturePageCommitmentEXT should be optional for sparse texture.
2019-02-07 14:32:10 +01:00
Gregory Hainaut
6282c3d263
gsdx ogl: remove boilerplate of extension check
...
* Use GLExtension::Has in cold path
* Throw error at first error
* Remove aniso check, all hardware support it. Bonus add GL4.6 extension support
* Remove viewport array check. We replace the function pointer anyway
2019-02-07 12:34:02 +01:00
Gregory Hainaut
86a10969f3
gsdx ogl: load GL_EXT_direct_state_access for sparse texture
...
They forgot to add is to the ARB extension...
2019-02-07 12:34:02 +01:00
Gregory Hainaut
2ea47a1d96
gsdx-ogl: add sparse format detection
...
v2: fix wrong variable name
2019-02-07 12:34:02 +01:00
Gregory Hainaut
fa7ffcd1bf
gsdx-ogl: use a print_once macro
2019-02-07 12:34:02 +01:00
Gregory Hainaut
0e4c63db5d
gsdx-ogl: add extensions check that might be useful in the future
...
Namely
* GL_ARB_multi_bind
* GL_ARB_vertex_attrib_binding
* GL_ARB_shader_storage_buffer_object
* GL_ARB_sparse_texture
* GL_ARB_sparse_texture2
* GL_ARB_compute_shader
* GL_ARB_texture_view
v2: add default option value
2019-02-07 12:34:02 +01:00
Gregory Hainaut
aed7ccaadf
gsdx ogl: use a set to store the supported extension
...
Split mandatory/optional extensions
Note: set is nice but likely much slower than reading a boolean
So both are kept
2019-02-07 12:34:02 +01:00
Gregory Hainaut
e6b0a7828e
gsdx-ogl: add a separate glext.h file
...
Allow to compile on distribution that still ship an older file
The file is only a patchup of the missing 4.3/4.4/4.5/4.6 define
v2: rename the file and add khronos copyright
2019-02-07 12:34:02 +01:00
Gregory Hainaut
2c99a0775c
3rdpary: import GL/glcorearb.h
...
It will replace glext.h in the future
v2: add requirement in gsdx
2019-02-07 12:34:02 +01:00
Gregory Hainaut
8cd6f4375e
gsdx-ogl: use only core debug extension
...
There are 2 extensions GL_ARB_debug_output (promoted from amd extension)
and GL_KHR_debug (the core extension, promoted from GL_ARB_debug_output)
As we use the callback we could drop the manual query of errors.
And save us the load of the GL_ARB_debug_output extension function pointer.
2019-02-07 12:34:02 +01:00
Gregory Hainaut
cd333c2c94
gsdx-ogl: add missing define of glcorearb.h
...
Migration isn't expected soon but it should ease the process
2019-02-07 12:34:02 +01:00
Gregory Hainaut
8a723b3be8
gsdx-ogl: clean partially the GL1 mess
...
Remaining will require a move to glcorearb.h
2019-02-07 12:34:02 +01:00
Gregory Hainaut
4f09124f19
gsdx-ogl: generate nearly all gl entries function pointers
...
I used glcorearb.h as input file
Code is limited to core gl + KHR/ARB extension
GL1.X must be handled manually (need only 3 functions)
I think the solution would be to migrate gl.h/glext.h to the
single glcorearb.h. However we might need to update the code to fetch
pointer accordingly
Note: we don't check the null ptr anymore on GSwnd. It isn't important
as we check the extension.
v2: update copyright
v3: update copyright space
v4: update copyright of script
fix copyright
2019-02-07 12:34:02 +01:00
Gregory Hainaut
dbffad2aef
gsdx hw: use non virtual Create Texture function.
...
Just do the format check in FetchSurface. It removes a level of virtual function
and avoid useless code duplication.
2019-02-02 22:54:30 +01:00
lightningterror
f02c683178
gsdx: Merge Sly 2 and 3 crc hacks.
...
Upscaling issue with texture shuffle on dx and gl. Also removes shadows
on gl.
Bbox issue on dx.
Dumps from Sly 2 and 3 look fine after the merge.
Also add a crc id BF1739E2 for a prototype Sly2. I don't remember who
game me the dump or if it's official.
2019-01-28 21:58:30 +01:00
lightningterror
ee7749452d
gsdx-d3d11: Remove unused function OMSetRenderTargets with UnorderedAccessView.
...
Note ID3D11UnorderedAccessView parameters are also unused but could be
useful for future DATE ports.
2019-01-28 21:01:22 +01:00
lightningterror
4c477d3cd6
gsdx-debug: Disable Alpha Test debug logs on d3d11.
...
Unfortunately they do more harm than help, slowing things quite a lot
because of the endless log spam when debugging gs dumps.
2019-01-28 20:38:11 +01:00
Kojin
af64865c5d
gsdx-d3d11: Framebuffer copy improvements
...
Improved handling of frame buffer copy by accounting for fb read on all slots.
- implement before/after draw functions
- defer setting of resources on the api to just before the draw
- use a bitfield to keep track of set/copied resources
- recycle copies after draw
Fixes: RE4 and Tales of Abyss
2019-01-27 16:40:39 +01:00
lightningterror
ece7d6e718
gsdx-ogl: Update intel bad driver log.
...
Assume that driver support is good when GL_ARB_texture_barrier and
GL_ARB_direct_state_access are both supported, disable the log in that
case.
Kaby Lake and above already support the required extensions (windows) so
the log is useless. It should be the same case for Skylake. Mesa driver
should already be good.
Note: SSO is still broken even on latest igpu.
2019-01-27 00:12:08 +01:00
lightningterror
4ab29eb280
gsdx: Remove some useless dx9 comments.
2019-01-26 16:13:07 +01:00
lightningterror
d4833a4618
gsdx-d3d11: Add final specifier to some voids.
2019-01-26 16:13:07 +01:00
lightningterror
744fa18d95
gsdx-d3d11: Merge/move GSDeviceDX code to GSDevice11.
...
Update VS and cmake project files, remove GSDeviceDX files.
2019-01-26 16:13:07 +01:00
lightningterror
19b97f8684
gsdx-ogl: Remove useless SetupIA from GSDeviceOGL.h not used.
2019-01-26 16:13:07 +01:00
lightningterror
2e2c9b14a4
gsdx-ogl: Enable anisotropic filtering only for triangles.
...
Sprites are flat so aniso is likely useless (it would save perf for
others primitives).
Idea by Gregory.
2019-01-26 14:52:30 +01:00
lightningterror
0e239cac66
gsdx-ocl: Add some ifdef checks for opencl renderer.
...
Should resolve gsdx crashes when ini value is selected as opencl when
opencl is disabled.
Properly fallback to default renderer.
2019-01-25 22:35:11 +01:00
lightningterror
7b4133ac08
GSdx-d3d11: Add final to Renderer class and DrawPrims, also change some voids to inline.
2019-01-24 20:30:48 +01:00
lightningterror
78f0b65e19
GSdx-d3d11: Merge GSRendererDX11 and GSRendererDX together.
...
Update VS and cmake project files to match new changes.
2019-01-24 20:30:48 +01:00
lightningterror
b9df1e643b
gsdx-hw: Adjust/cleanup hw hacks variable calls.
...
Use a function to check UserHacks for all variables in GSState.cpp
instead of checking each variable individually.
Get rid of UserHacks_HPO local variables in GSRendererOGL/DX and use the
member variable m_userHacks_HPO instead, we don't need duplicates that
do the same thing.
Add ResetStates call at the beginning of GSRendererDX to match gl
behavior.
2019-01-23 12:24:12 +01:00
lightningterror
2aadf0be89
GSdx: Adjust Scaling Factor.
...
Use value of 1 when upscale multiplier is 0 for ScalingFactor, this is
to avoid doing math with 0 in shader.
It helps custom res be less broken. Still not recommended to use custom
res ofc.
2019-01-22 23:25:01 +01:00
lightningterror
55bc8e13fc
gsdx-gui: Update Accurate date tooltip.
2019-01-22 22:14:28 +01:00
Kojin
8c8b1f497c
gsdx-d3d11: ICO depth HLE
...
Game reads framebuffer depth as alpha of texture.
However, this is a problem for d3d11 as a shader read on the fb is not allowed.
So let's handle it in a similar fasion to channel shuffle:
- Set depth to slot 4
- Detect when slot 4 matches depth rt
- Copy and send the copy to the shader
2019-01-22 06:52:24 +01:00
Kojin
468b9ded46
gsdx-d3d11: Update texture copy method to handle depth
...
- Rename CopyRenderTarget to CloneTexture
- Allow copy of depth target
Also fix a small oversight from the removal of MSAA.
2019-01-22 06:52:24 +01:00
Kojin
57824261c6
gsdx-d3d11: Cache rt depth stencil on m_state
...
Cache the depth stencil in addition to color rt.
This will allow us to check for depth stencil equality on slot 4.
2019-01-22 06:52:24 +01:00
lightningterror
946e6046b3
gsdx: Adjust some crc hack comments for some games.
...
Maybe in the future I'll add github issue links to corresponding crc
hacks.
2019-01-21 19:38:20 +01:00
lightningterror
548d6b31bf
Gsdx: Purge GSC_RedDeadRevolver crc hacks.
...
Blurring with a bit of ghosting is intended and it looks like that on
the console as well.
Depth properly emulated.
D3D11 misses blending.
2019-01-20 19:49:36 +01:00
lightningterror
4ecbb750a8
GSdx: Purge GSC_BlackHawkDown crc hacks.
...
Channel and texture shuffle emulated correctly.
2019-01-20 00:05:18 +01:00
lightningterror
7247ee1ad0
GSdx: Add glsl shaders to VS solution.
...
It should make searching/navigating a bit easier now.
2019-01-18 15:56:54 +01:00
lightningterror
b4cb805a91
gsdx-tc: Remove CanConvertDepth virtual bool and use m_can_convert_depth for depth toggling.
2019-01-18 14:53:06 +01:00
lightningterror
bbd8cbbcf4
GSdx: Move GSC_DeathByDegreesTekkenNinaWilliams to partial crc level.
...
Upscaling issues + unsupported texture shuffle.
Hacks might need to be updated.
2019-01-18 13:17:28 +01:00
lightningterror
85e2a0a6bb
gsdx: Add Death By Degrees crc id for US region.
...
crc hacks still need to be tested properly.
2019-01-18 11:29:45 +01:00
lightningterror
f28f03803f
tfx.fx: Correct a couple more blending factors.
...
Chane 0.5 to 128.0f/255.0f which is 0.50196078431.
Just to be safe it's accurate.
2019-01-18 06:10:41 +01:00
lightningterror
0c3a0da58f
GSdx: Purge GSC_LegoBatman crc hacks.
...
Effects emulated correctly with texture shuffle and depth.
Game has upscaling issues which can be fixed with TC offsets.
2019-01-17 09:58:59 +01:00
lightningterror
51fe6c20ca
GSdx: Adjust dbz bt glow/blur crc hack.
...
Don't enable hack on native res if crc(ntsc only) is below aggressive.
Note for future so I don't forget: This hack can be disabled if depth
hack is also disabled.
2019-01-17 07:45:35 +01:00
Kojin
5fe1cab889
gsdx: Remove remaining MSAA ui code
...
We are removing MSAA for the following reasons:
1. It's broken
2. Fixing it would mean it would perform as well as FSAA, which defeats the purpose of having it
3. It's only supported by DX and Windows
4. Reduction in code complexity
Press F to pay respect
2019-01-15 19:13:14 +01:00
Kojin
e429677a07
gsdx-hw: Completely remove MSAA from renderer code.
2019-01-15 19:13:14 +01:00
lightningterror
fa4ae7800b
tfx.fx: Adjust some blending factors
...
255.0f / 128.0f gives us 1.9921875.
128.0f / 255.0f gives us 0.50196078431.
Which are more accurate.
Fixes regression in dbz bt3 where characters appeared darker.
2019-01-14 17:01:17 +01:00
lightningterror
ee4d295667
GSdx-d3d11: Remove afix factor from 24bit format.
2019-01-14 16:52:19 +01:00
lightningterror
e05b5d2420
GSdx-d3d: Move channel and texture shuffle in GSRendererDX.
...
Preparations for file merge.
2019-01-14 02:30:25 +01:00
lightningterror
25ed5857d8
GSdx-gui: Add 10x and 12x as an upscaling option.
...
10x ~3160p 6K
12x ~4320p 8K"
Can anyone even run these ?
2019-01-14 01:44:58 +01:00
lightningterror
3a7f2a5c0b
GSdx: Hide the MSAA option.
...
No need to have an option on display that does nothing for now.
2019-01-13 17:57:29 +01:00
lightningterror
106c678cc1
GSdx: Purge GSC_EternalPoison crc hacks.
...
Shadows are better rendered now with hdr colclip, blending is still
needed but the shadow's shape is proper now so let's purge the hack.
2019-01-13 17:33:08 +01:00
lightningterror
52bad3505c
GSdx: Adjust GSC_GodOfWar 1 and 2 crc hacks a bit more.
...
GSC_GodOfWar moved to aggressive state.
GSC_GodOfWar2 some value swere corrected (should fix some regressions)
and hack was moved to partial state because we have an upscaling hack.
2019-01-13 16:26:09 +01:00
lightningterror
f5b9965910
GSdx: Purge OI_GodOfWar2 hw hack.
2019-01-13 15:08:36 +01:00
lightningterror
6f01936943
GSdx: Remove depth crc hacks for god of war 1 and 2.
...
Effects rendered correctly with depth on all renderers.
2019-01-13 14:42:53 +01:00
lightningterror
9119e3110d
GSdx-ogl: Correct DATE log.
2019-01-12 16:43:26 +01:00
lightningterror
f73de4c59c
GSdx-ogl: Add perf log for Slow DATE code on texture shuffle/no prim overlap.
2019-01-12 09:59:28 +01:00
lightningterror
7e6c325210
GSdx: Move BoundingBox to HW render and update d3d11 code to use the gl bounding box as well.
...
hdr colclip and date uses it.
2019-01-12 09:53:51 +01:00
lightningterror
86327b52a9
convert.fx: Update main4 shader to better support hdr colclip.
2019-01-12 09:53:51 +01:00
lightningterror
d17e0eba9b
GSdx-d3d11: Add/port HDR colclip support.
...
It helps render shadows a lot better compared to the old code.
Credits to Gregory and Kojin for helping with the code.
2019-01-12 09:53:51 +01:00
lightningterror
8a57d7f470
GSdx-d3d11: Remove colclip and negative blend algo.
...
Code was old and inefficient. HDR colclip will do a better job.
2019-01-12 09:53:51 +01:00
lightningterror
f2f66c02d3
GSdx: Add option to Disable Safe Features.
...
Idea is to disable multiple features in 1 option to avoid gui clutter.
Unscale Point and Line:
This partially reverts PR #2710 restoring Unscale Point and Line but as a disable option.
It can help Xenosaga games.
GS Memory clearning:
This disables GS memory clearing to be done on the CPU, by default both gpu and cpu do memory clearing
which is more accurate.
It can help Kingdom Hearts games.
2019-01-09 15:44:41 +01:00
lightningterror
54f8aca7d5
GSdx-d3d11: Re enable shader code logging.
...
Log was disabled in #2760
2019-01-04 01:00:10 +01:00
lightningterror
4cf3328682
GSdx: Adjust some checks in the gui code.
...
Now that d3d9 has been removed we can ease up and reduce/remove some
render variable checks.
2019-01-02 03:11:47 +01:00
lightningterror
ec6ac75b10
GSdx-gui: Update the crc hack level tooltip again.
...
Suggested by Gregory.
2018-12-31 18:03:15 +01:00
lightningterror
5d62e47229
GSdx-gui: Update crc hack level tooltip.
...
The tooltip was way too big so this should shrink it down a bit. Remove
the mentioned games on Aggressive state, it was a bit useless.
2018-12-30 23:59:59 +01:00
Kojin
eddaf71d47
gsdx: remove dds parameter from texture save method
2018-12-30 20:13:59 +01:00
Kojin
e847d94062
gsdx-d3d11: enable splitting of alpha in dumps
2018-12-30 20:13:59 +01:00
lightningterror
781323ff10
GSdx: Purge a crc hacks for GSC_Onimusha3.
...
Hack removed depth effects which are rendered properly. I wasn't able to
trigger a skip on the other hack draw calls, they need to be
investigated further what they actually did.
2018-12-29 01:35:44 +01:00
lightningterror
01c64f1b35
GSdx: Purge some crc hacks for GSC_BurnoutGames.
...
Purge hacks that removed texture shuffle effects only.
2018-12-28 20:21:02 +01:00
lightningterror
7577165a97
GSdx: Adjust Aggressive state crc level.
...
Create a Aggressive state function instead of adjusting the hacks
separate, move the aggressive only there.
It's more efficient this way.
2018-12-28 20:03:38 +01:00
Shanoah Alkire
0ff7ea3ccc
Only use -Wno-class-memaccess on gcc 8.0 or higher, as it didn't exist previously.
2018-12-26 21:55:25 -08:00
lightningterror
d1c8808797
GSdx-d3d: Add texture shuffle check in DATE selection.
...
It ensures the code cases are hit properly for all DATE selection cases.
Texture shuffle case with Slow DATE is not yet supported so keep using
the old DATE method.
2018-12-26 18:45:11 +01:00
lightningterror
6575fe7cce
GSdx: Disable/uncheck "Large Framebuffer" option by default.
...
Some games don't play nice with the option and have huge amounts of
ram/vram spikes that can even lock up the system so it's better to have
the option disabled by default.
2018-12-26 13:43:37 +01:00
lightningterror
d5bd5db072
GSdx: Fix OpenCL detection.
...
Fixes an issue when the plugin detects an opencl ini value for the
render. It used to throw a "GS plugin failed to load" error when opencl
was disabled but the ini value remained the same. The render will
fallback to D3D11 now.
2018-12-26 05:13:15 +01:00
lightningterror
a020c98421
GSdx: Cleanup file includes.
...
Remove GSCrc.h include in GSRendererHW and GSRendererDX11, file is
already included in GSState.h.
Remove GSRenderer.h include from renderers except Null and CL, file already
included in TextureCache hw/sw.
Remove resource.h include from GSRendererDX11, already included in GSDevice11.
Remove GSOsdManager.h from GSDeviceOGL, already included in GSDevice
2018-12-25 20:12:29 +01:00
Kojin
a5564896ea
gsdx-d3d11: remove useless gs creation method
2018-12-25 13:38:19 +01:00
Kojin
e0c598f38e
gsdx-d3d11: Enable HLSL debugging on development builds
...
Enable HLSL compile flags that allow devs to use tools such as NSight or VS Graphics debugging for HLSL.
2018-12-25 13:38:19 +01:00
lightningterror
4076e3387e
GSdx-osd: Change default font color to blue/cyan.
...
It matches the color theme of the emu better.
2018-12-25 02:35:49 +01:00
lightningterror
29941f3e0d
GSdx: Partially re add Bully crc hack.
...
Game has upscaling issues so let's only add the hack for upscaling,
also merge the two regions together.
Hack will be disabled on native res if crc is below aggressive, upscaled
is set to partial level.
2018-12-24 15:25:06 +01:00
lightningterror
e299ac1ffa
GSdx: Update GSC_DBZBT2, GSC_DBZBT3 crc hacks.
...
Purge dbz bt3 crc hack that removed outlines, I don't want to mix it
with the depth effect hack that I also moved to aggressive.
Move depth hacks for ntsc region to aggressive state.
2018-12-23 18:48:17 +01:00
lightningterror
59ecfb23d7
GSdx: Purge GSC_Bully, GSC_BullyCC crc hacks. It's the same game.
...
Depth and texture shuffle render the effects correctly.
Dump shows the game look splending compared to before on d3d11.
2018-12-23 17:55:27 +01:00
lightningterror
154dea1557
GSdx: Purge OI_SMTNocturne hw hack.
...
The hack was used when depth emulation was not supported or when depth
is disabled.
It causes graphical glitches with the faces when depth is disabled.
2018-12-23 17:12:10 +01:00
lightningterror
da76440c14
GSdx-TC: Get rid of nasty ZWriteMustNotClear hack.
...
d3d11 supports depth now.
2018-12-23 16:03:28 +01:00
Kojin
dc2eed6ca1
gsdx-d3d11: Fix CopyOffscreen bug
...
Update CopyOffscreen to accept the ps_shader value when doing StretchRect.
This fixes an issue where it was selecting the wrong PS for depth cache read.
Should (hopefully) fix SMT.
2018-12-23 15:20:04 +01:00
lightningterror
f6df6b350b
GSdx-d3d: Disable MSAA unti it's properly fixed.
...
MSAA causes a lot of graphical issues when enabled with the recent
accuracy changes so better disable the feature until it's properly
fixed.
2018-12-23 14:21:44 +01:00
lightningterror
83da33e2ab
GSdx: Remove d3d9.lib and d3d9.dll from common.props.
2018-12-22 22:53:09 +01:00
lightningterror
cb59794b8d
GSdx: Remove d3d9 header include from stdafx.h
2018-12-22 22:53:09 +01:00
lightningterror
1ae4b5d0ba
GSdx-d3d: update blend table to use src1 blending and remove the nasty hack which we couldn't before because of d3d9.
2018-12-22 22:53:09 +01:00
Kojin
5e9ffc4a94
GSdx-d3d: Adjust D3D11Blend, get rid of some casts.
2018-12-22 22:53:09 +01:00
lightningterror
bf4997b6a5
GSdx: Update/remove useless d3d9 comments.
2018-12-22 22:53:09 +01:00
lightningterror
48007350b6
GSdx-ogl: Update blend table and remove d3d9 code, remove useless defines and directly use gl code.
2018-12-22 22:53:09 +01:00
lightningterror
4644a16c5b
GSdx-d3d: Update blend table enums from D3D9 to D3D11.
...
GSDeviceDX.
2018-12-22 22:53:09 +01:00
lightningterror
7e8360efbc
GSdx-d3d: Rename d3d9 blendtable and variables to d3d11.
2018-12-22 22:53:09 +01:00
lightningterror
6a5bb5df83
GSdx: Remove support for D3D9 device on ps1 emu compatibility.
...
Note: Resolution scaling is unavailable right now so I disabled the
option, if someone feels like fixing it they can do so.
2018-12-22 22:53:09 +01:00
lightningterror
e12447101f
GSdx: Get rid of d3d9 adapter code from GSSettingsdlg and GSDevice.
2018-12-22 22:53:09 +01:00
lightningterror
48b8d78139
GSdx-osd: Lower default font size from 28 to 25.
2018-12-22 21:56:35 +01:00
Kojin
a2f3b78bac
gsdx-d3d11: Fix Depth FST
...
Texture scaling for x/y values wasn't being set in all cases.
This ensures that it is to fix a bug in finding nemo (and possibly others).
2018-12-22 15:53:20 +01:00
lightningterror
1957cf13c2
GSdx: Purge GSC_Black crc hacks.
...
Effects are rendered correctly with depth and texture shuffle on all
renders.
2018-12-21 07:32:20 +01:00
lightningterror
eb000f0f41
GSdx: Move GSC_GTASanAndreas crc hack to aggressive state.
...
Can be used as an upscaling hack, but it removes some nice effect so
Aggressive only.
2018-12-21 05:03:45 +01:00
lightningterror
f41b536682
GSdx: Adjust GSC_DemonStone crc hack.
...
Move back to partial level, half screen issue.
2018-12-21 02:28:59 +01:00
lightningterror
11f09d4944
GSdx: Purge GSC_SuikodenTactics crc hacks.
...
Depth effects are rendered properly on all renders.
2018-12-21 01:06:47 +01:00