Commit Graph

38 Commits

Author SHA1 Message Date
lightningterror 8acc319a4a GSdx-d3d: Mask alpha channel on 24bit format.
dfmt is not supported but we can use the variable to select the
frame buffer format and later disable writting to the alpha channel.

MGS3 sees an improvement, and possibly other games as well.
So far didn't spot any regressions.
2018-09-16 12:54:47 +02:00
lightningterror 2b9c368fa8
GSdx-d3d: Rearange PSSelector(GSDeviceDX.h).
Rearange PSSelector shader list in GSDeviceDX.h
to match GL format.

Easier to read and will make someone's life easier.
2018-06-11 01:08:36 +02:00
Jonathan Li 5415b7ad5b gsdx: Prefix std:: to vector
Also use auto when appropriate
2017-09-08 09:56:28 +02:00
Jonathan Li d57b812f36 gsdx: Prefix std:: to string and to_string 2017-09-08 09:56:28 +02:00
FlatOutPS2 557b672232 GSdx: Unscale Point and Line Direct3D11 port
Ports the "Unscale Point and Line" hack to the Direct3D11 Hardware renderer.

And enables the "Unscale Point and Line" hack for Custom Resolutions with Direct3D11 and OpenGL.
2017-04-01 11:16:25 +02:00
FlatOutPS2 975441dfe9 GSdx: Direct3D port of HPO special/V2
Adds a port of the new Half-pixel Offset options for the Direct3D
Hardware renderers.
2017-04-01 11:16:25 +02:00
Jonathan Li da2046e90e gsdx: Use alignas instead of __aligned
__aligned is defined in FreeBSD headers and will cause compile errors.
2016-05-21 13:23:11 +01:00
Jonathan Li 8f4823d604 gsdx-dx: Load D3DCompiler dll at runtime
D3DCompiler_47.dll will be loaded for Windows 8.1 and above (and maybe
Windows 7 devs), D3DCompiler_43.dll will be loaded for Windows 7 and
below.
2016-03-30 00:03:04 +01: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
refractionpcsx2 4bc8bfc23e GSdx-DX: Rough port of texture switching from OGL 2015-07-01 09:30:20 +02:00
ramapcsx2 94cad4a61a GSdx: New hack from KrossX lets users configure their own texture coordinate offset via hacks dialog. This can be used to fine tune correction of upscale glitches versus the problems that come with it. I guess this is able to correct nearly all ghosting and bad text issues games can have! Thanks for this nice patch, KrossX :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5556 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-12 10:57:48 +00:00
gregory.hainaut e06484adb8 gsdx: update the copyrigh address thank to sed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5412 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-09 18:16:11 +00:00
sudonim1@gmail.com 5f28d08286 GSDX: New interpretation of destination alpha testing to improve effect rendering as an optional hack. Known to make shadows in the persona games (and thus probably shin megami tensei) better, not sure what else it accomplishes without destroying other effects.
Now, a note about the actual issue.  Destination alpha tests can be used on the GS as one of the workarounds for a lack of stencils.  If you use a destination alpha test and leave alpha writing on, the GS will only write each pixel until you write an alpha value which would fail the test.  This works to a point in gsdx without further hacking, but that point is when within a single batch of primitives the same pixels are written multiple times and the destination alpha test is expected to update.  I did experimentally make a tight loop updating the stencil with a draw then drawing for one primitive at a time, but it was prohibitively slow (over 80% fps loss, you really don't want to know).

Destination alpha testing cannot be directly implemented in D3D9 or D3D10, but (probably) can in D3D11 (with a speed hit for sure, but I doubt it'll be 80%).  I'll be getting a new graphics card and looking into that.

And before some idiot says it, the answer is no.  OpenGL does not help.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5346 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-24 02:20:07 +00:00
sudonim1@gmail.com 546adf52c9 GSDx: ATI strikes again. Workaround for ATI sampler bug, the same bug I found in palette sampling earlier.
This may make gsdx slightly slower for everyone (I don't know an easy way to restrict this to affected systems), especially if using 8-bit textures.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5341 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-19 20:40:42 +00:00
sudonim1@gmail.com f5f5074172 GSDX: Put the sprite hack back in because apparently it wasn't fixed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5312 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 01:12:01 +00:00
sudonim1@gmail.com 0d9eca8668 88GSDX: Removed the "sprite hack" as it should be obsolete, fixed the vertex shader selector key function (the pixel shader was broken in the same way but with the "sprite hack" removed it doesn't matter now).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5310 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 00:35:42 +00:00
ramapcsx2 b25aec19c1 GSdx:
Adding KrossX's Wild Arms text alignment hack to the new dialog box. This hack is actually very interesting for a number of games. It should work well in cases where game designers adjusted everything pixel perfect for the GS, that usually breaks with upscaling. 
It should be generalized and renamed later.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5120 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-06 21:36:59 +00:00
ramapcsx2 3bbb2d6ed3 Small mistake fixed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5102 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-02-22 20:05:41 +00:00
ramapcsx2 7e435329ca GSdx:
Committing a hack KrossX prepared (thanks) ;)
It can be used to fix bad character sprites in Gust games.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5101 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-02-22 19:53:59 +00:00
gabest11 9ec7f14fa8 GSdx: Simplified vertex formats and the related code, everything works with the basic GSVertex until it gets uploaded to the vertex buffer.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5074 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-19 04:53:36 +00:00
gabest11 da4ea83134 GSdx: nothing really new, just testing the compute shader, if you are an expert take a look and tell me your opinion :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5068 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-13 18:10:05 +00:00
gabest11 f68f007f00 GSdx: the promised index buffer update, needed a lot of changes, expect bugs in the next dozen revisions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5045 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-05 02:40:24 +00:00
gabest11 879aad9fd5 GSdx: working on linux port again, almost ready to run.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4344 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-22 23:39:02 +00:00
gabest11 3de18d0526 Undoing last commit, it was a mistake, linux tools are not easy to use.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4342 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-22 21:12:04 +00:00
gabest11 23a6b85852 GSdx: more alignment fixes for gcc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4341 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-22 20:58:21 +00:00
gabest11 3030166596 The core of GSdx is now compatible with intel's compiler on linux.
- GSWnd is not implemented, no config dialogs either
- no output, just the null device
- threading classes were not tested (my first experience with pthread)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4315 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-19 03:36:30 +00:00
gabest11 d23d7e2617 Just moving code around.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4312 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-18 03:50:12 +00:00
gabest11 d44def8c0b Fixed many gcc errors, there are still plenty. Intel's compiler might be a better alternative.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4311 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-18 01:56:05 +00:00
gabest11 ca7abd983a Mostly code cleanups, XBYAK 2.99, VEX conversion for the sw renderer (3-5% faster), GSState::Move fix for dark cloud 2 invention crash.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4287 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-07 01:59:05 +00:00
sudonim1 c7aa146489 I hate D3D.
32-bit depth buffers for D3D9 users if available.  Lots of code shuffling for reasons I don't even remember.  Stuff.  Pretty much just the 32-bit depth buffers.  That's good though, you don't have to envy D3D10 users half as much now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3002 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-14 14:05:39 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
sudonim1 ad21a894fc GSDx: Fixed channel masking in DX9 HW. The red and blue channels were reversed.
GSDx: Removed discards from partial colclamp support as it wasn't doing much good and definitely won't be necessary with the next stage of support.  No significant functional change probably.

As before, please do a full rebuild of gsdx.  I hate it as much as you but don't know how to make VS smarter about this.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2712 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-14 11:33:12 +00:00
sudonim1 e8c73cef42 GSDX: Partial COLCLAMP support.
Fixes shadows in Ico and Shadow of the Colossus and hopefully fixes more effects in other games.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2702 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-12 19:01:05 +00:00
arcum42 01aff16aac GSdx: A few minor cleanups to nudge GSdx a little closer to being cross-platform compatible,
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2405 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-01 05:18:32 +00:00
Jake.Stine 34f30969bf GSdx: likely fix for the infamous DX10 memleak and resume/loadstate instabilities. Likely because I don't have DX10 capabilities, so I'm coding blindly as usual. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2150 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-07 17:50:48 +00:00
Jake.Stine c274d4e43c GSdx: Cleanups to the vsync framelimiter linkage. Ensures that the vsync settings are preserved across plugin shutdown/init, and removes a lot of function parameter mess trying to pass a single parameter across some 6-8 classes and 4 nested function calls.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2099 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-31 01:06:23 +00:00
Jake.Stine 73a39b012c GSopen2: Fixed a bug in gsdx where it didn't properly handle changes to the GS base register memory pointer.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1858 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 18:45:37 +00:00
Jake.Stine e4c0dfb6d3 GSopen2: Fixed GSdx so that it complies with the implied intent of the PS2E plugin API, where GSopen and GSclose retain the current GS emulation state. This required a couple significant changes:
* Removed GSTextureFX classes
 * Built shaders right into GSState classes, using GSStateDX as an interface, so that all shader caches get auto-destroyed along with GSState.

In addition to being a bit of a code cleanup, it should be a bit more efficient too since all of the extra dereferences to GSState from GSTextureFX have been removed. :)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1849 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 00:16:52 +00:00