lightningterror
99f814d376
gsdx-ogl/d3d11: Add a assert when texture is too small or too big.
...
Add an assert for when texture is below 1 on direct3d/ogl.
Add an assert for when texture is above direct3d limit.
2019-08-26 15:55:43 +02:00
lightningterror
de7a3b70c9
gsdx-d3d11: Adjust maximum texture size limit based on available feature level.
...
d3d10 = 8192
d3d11 = 16384
Seems it is easier to hit the limit. Champions of Norrath with 8x
upscale for example.
2019-08-26 15:55:43 +02:00
lightningterror
d77d440a04
gsdx-hw: Re enable automatic mipmapping for Jak 1 and 3.
...
Issue #2916 has been resolved in #3076
2019-08-19 23:27:58 +02:00
Alessandro Vetere
6feb59fef5
GSdx-hw OGL: log if tex size gt PBO segment size.
...
Texture data may be corrupted in this case due to missing
fences synchronization.
2019-08-19 23:13:56 +02:00
Alessandro Vetere
63982bf6b7
GSdx-hw OGL: fix PBO pool map size.
...
Round up mapping size for alignment before computing
wrapped pointer.
Avoids memcpy after end of PBO buffer.
2019-08-19 23:13:56 +02:00
KrossX
9b651e44d0
GSdx: Fix mipmap SSE2 code for linear mipmap nearest filter. ( #3064 )
...
Fixes a regression introduced in e728a14c19
2019-08-16 09:03:05 +01:00
Alessandro Vetere
9e687895e1
GSdx-hw TC: improve search tex in RT
...
Fixes eyes rendering in Jak games both ingame and in cutscenes.
Previous method yielded no eyes in Jak 2/3/X cutscenes.
- Generalized offset search logic with caching system (works for BW > 1
and any PSM, limited to PSMCT32 for now)
- CRC Flags mechanism for default behavior enabling in Jak games
2019-08-14 17:09:51 +02:00
Alessandro Vetere
7c42928b57
GSdx-hw TC: invalidate Source with Target TEX0
...
Fixes eyes blinking in Jak games with tex in rt search
enabled.
- Target TEX0 in Source is Source TEX0 if the Source is
not build from Target, otherwise it is the Target TEX0,
allowing improved Source invalidation
2019-08-14 17:09:51 +02:00
Alessandro Vetere
68cfc5d953
GSdx-hw TC: fix Target::Inside check
...
- inclusion shall not be strict only on start side
2019-08-14 17:09:51 +02:00
Alessandro Vetere
2007894ba6
GSdx-hw TC: fix end block computations
...
- compute bottom right texel block as last valid block
2019-08-14 17:09:51 +02:00
Alessandro Vetere
dfa4680547
GSdx-hw: SwSpriteRender, fix drawing region
2019-08-14 16:18:39 +02:00
Alessandro Vetere
1f6b44d556
GSdx-hw: SwSpriteRender, improve no rast. check
2019-08-14 16:18:39 +02:00
lightningterror
51ba799779
GSdx: Use rt for dRect size, update crc level label.
...
Use rt for dRect size for OI_SonicUnleashed fix.
Make CRC level label name and position match between windows and linux.
2019-08-04 13:16:47 +02:00
lightningterror
c8c1429493
gsdx-hw: Add some logs for OI fixes, add JakX beta eu crc id.
2019-07-30 01:01:23 +02:00
lightningterror
e79ea75ae2
gsdx-hw: Add OI rendering fix for Big Mutha Truckers.
...
It will allow to render the shadows properly, also update the crc
hack to skip less effects.
2019-07-30 00:29:07 +02:00
lightningterror
91570a9e0f
gsdx-ogl/d3d11: Also ensure that we set proper ini values for Shade Boost sliders.
...
Should avoid any potential issues if ini values are wrong for shade
boost.
Bonus: Fix gui overlapping issues when sliders are on maximum (100).
2019-07-17 01:16:46 +02:00
lightningterror
888897ed48
gsdx-osd: Ensure we set proper data for osd options.
...
Should avoid any potential issues if ini values are wrong for osd.
2019-07-16 23:42:34 +02:00
lightningterror
56b8612502
gsdx-d3d11: Set maximum allowed texture size to d3d10 limits which is 8192.
...
Should prevent any issues if we ever go over the limit.
2019-07-15 22:32:45 +02:00
iMineLink
f409079864
GSdx-hw: New SW sprite renderer, used in Jak games only for now. ( #3001 )
...
Developed a new SW sprite render function, which is used to fix
Jak and Daxter colors in Jak games and to remove the old Jak games hack
which yielded wrong colors and clashed with TC search texture in RT function.
- Remove OO_JakGames hack for palette readback from framebuffer (slow,
clashes with texture in RT TC function, clashes with Target readback logic)
- Developed new method SwSpriteRender with CPU rendering logic
- Add OI_JakGames method using SwSpriteRender for CPU palette rendering (fast,
does not clash with texture in RT TC function, no readback required)
Bonus: fps also sees an improvement in Jak games 3-5 increase.
2019-07-13 01:05:27 +02:00
lightningterror
8e3b34bce6
gsdx-ogl: Comment out pabe bit, not yet used.
2019-07-11 20:11:34 +02:00
lightningterror
96b02be1d1
gsdx-hw: Add Harry Potter and the Goblet of Fire,
...
Project Snowblind to automatic mipmapping.
Add some extra missing crc ids too for GT4 and Ape Escape 2.
2019-07-11 13:12:06 +02:00
lightningterror
d0cb0f59d9
gsdx-d3d11: Extend BLEND_NO_BAR to also hit on clamp 0, it's faster than standard HDR algo.
...
GOW shows a nice fps improvement (+6 give or take). Spyro too maybe.
2019-07-08 00:40:54 +02:00
lightningterror
2cd9aff867
gsdx-d3d11: Extend sw blending to BLEND_NO_BAR which is also free and doesn't require rt sample nor any barriers.
...
It helps light rendering in SW Battlefront 2, VP2 also triggers it but needs to be further tested what it does.
2019-07-08 00:40:54 +02:00
lightningterror
b19804190e
gsdx-hw: Add an OI hack for Sonic Unleashed.
...
It will allow to render the shadows properly.
Rendering pattern is:
Save RG channel with a kind of a TS (replaced by a copy in this hack),
compute shadow in RG,
save result in alpha with a TS,
Restore RG channel that we previously copied to render shadows.
2019-06-23 23:34:25 +02:00
lightningterror
40929a4728
gsdx-d3d11: Add rgba channel selection/support to StretchRect.
2019-06-23 23:34:25 +02:00
lightningterror
e9825dccc0
gsdx-ogl: Add rgba channel selection/support to StretchRect.
2019-06-23 23:34:25 +02:00
lightningterror
066a9aaf71
gsdx-hw: Purge Sonic unleashed crc hack.
2019-06-23 23:34:25 +02:00
lightningterror
62417dae99
gsdx-hw: Revert dmc 3 TS hack purge.
...
Seems like Texture shuffle/depth is not handled properly in all cases so
revert the change until we fix it properly. Move it to gl level too.
Commit:
11cd6b56cd
2019-06-20 10:36:21 +02:00
lightningterror
300f16df61
Gamedb/gsdx-hw: Add gamefix patch and crc id for Harry Potter and the Prisoner of Azkaban EU.
...
Gamefix patch source:
https://forums.pcsx2.net/Thread-Fixing-unplayable-games?pid=600492#pid600492
2019-06-18 22:34:17 +02:00
lightningterror
9401e52b08
gsdx-d3d11/gui: Move the nvidia hack toggle to Disable Safe Features.
...
With the sprite hack removed it was no longer possible to toggle this
hack on nvidia gpus, the toggle has been moved to Disable Safe Features.
It some issues caused by the hack in sotc, fatal frame and border offset
issues.
2019-06-18 22:06:35 +02:00
lightningterror
11cd6b56cd
gsdx-hw: Purge useless d3d11 only hacl for DMC3.
...
Texture shuffle emulated correctly.
2019-06-18 20:21:03 +02:00
lightningterror
e6d42338ad
gsdx-hw: Fix incorrect variable name when tc is disabled.
...
Allows to compile gsdx with tc disabled properly again.
2019-06-17 00:11:47 +02:00
lightningterror
a936cd9eb1
gsdx-d3d11: Remove remaining uav (UnorderedAccessView) code, it wasn't used
...
. Code can be readded in the future if there is a need for it. Advanced
DATE for example.
2019-06-16 20:42:28 +02:00
lightningterror
34bedddd5c
gsdx-d3d11: Update nvidia hack handling.
...
Don't query the api for the adapter description twice.
2019-06-16 20:42:28 +02:00
KrossX
39f509feaa
gsdx-hw: Remove no longer needed Sprite hack, replaced by improved atst code already.
2019-06-16 20:42:28 +02:00
KrossX
6a122268cb
gsdx-d3d11: Update d3d shader macro handling to a much better algorithm.
...
Bonus, remove unused options variable
D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS.
2019-06-16 20:42:28 +02:00
lightningterror
0781cb65bf
gsdx-hw purge HauntingGround crc hacks.
...
Half Pixel Offset can solve the misaligned blur when upscaling, while
the second hack is also no longer needed and it broke depth effects too.
2019-06-14 23:32:58 +02:00
lightningterror
3228789808
gsdx-d3d11: Add draw call number to debug logs.
2019-06-13 14:52:03 +02:00
lightningterror
6024359011
gsdx-hw: Purge CastlevaniaCoD, CastlevaniaLoI, NanoBreaker crc hacks.
...
Shadows emulated correctly with accumulation blend, d3d11 misses sw
blend for extra accuracy (darker shadow).
gsdevice11: Remove unused IsCLR1() variable.
2019-06-13 13:38:24 +02:00
hibye8313
60cf62fea1
GSdx-d3d11: Partial port of EmulateBlending() from OGL renderer to DX11 renderer and ps_blend() from OGL shader to DX11 shader (only accumulation blend).
2019-06-13 13:25:46 +02:00
hibye8313
6bdd4ff186
GSdx-d3d11: Ported SW blending variables from OGL to DX11 PSSelector/BSSelector/pixel shader.
2019-06-13 13:25:46 +02:00
hibye8313
718042e6a6
GSdx: Made a DX11/OGL-independent blend map in GSDevice.cpp. Convert to OGL/DX11 specific constants at run time.
2019-06-13 13:25:46 +02:00
lightningterror
976b77f144
gsdx-hw: Use std max for scaling factor, bonus add jak3 crc id for eu preview/us international release.
2019-06-01 16:46:17 +02:00
lightningterror
877a112193
gsdx-hw: Remove no longer used linear parameter from ComputeFixedTEX0,
...
add an assert that m_target isn't handled with invalid_tex0 yet due to upscaling.
2019-05-31 13:50:28 +02:00
lightningterror
5e043b3b6f
gsdx-hw: Re add GSC_RedDeadRevolver crc hack that only skipped blur effects to aggressive mode only.
...
Previous commit for reference:
548d6b31bf
2019-05-25 17:19:17 +02:00
lightningterror
ed8592b30b
gsdx-d3d11: Don't run Alpha Stencil on DATE with texture shuffle.
...
It breaks DATE with tex shuffle (Haunting Ground 2, Superman shadow of
Apokolips, possibly others too).
2019-05-24 01:17:33 +02:00
lightningterror
3289dc1cc7
gsdx-gui: update alpha stencil, crc hack level tooltips.
2019-05-23 18:11:26 +02:00
lightningterror
87808fee03
gsdx-hw: Purge GSC_GTASanAndreas crc hacks.
...
Auto flush allows us to render the effects properly.
Small ghosting may not be an actual issues as it's also present on sw
renderer.
2019-05-17 03:35:17 +02: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
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
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
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
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
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
c8d4d5528e
gsdx-ocl: Fix some compile warnings.
2019-03-12 02:36:49 +01:00
lightningterror
7354c1fa0d
gsdx-hw: Update a few crc issue categories for several games.
2019-03-08 19:33:28 +01:00