Commit Graph

161 Commits

Author SHA1 Message Date
gregory.hainaut 0ad5982364 gsdx-ogl: linux only (merge from trunk 5022:5068)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5069 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-15 14:51:49 +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
gregory.hainaut cfedf41441 gsdx-ogl: linux only
* Fix some issue on wnd management, mix between sdl/ogl render
* create new gsdx option for ogl debug
  + debug_ogl_dump: start frame to dump when not 0
  + debug_ogl_dump_length: length of the dump
  + debug_ogl_shader: print shader debug
  Note current dump option must be fixed to use linux path.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5067 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-12 07:29:31 +00:00
gabest11 2eec75c2ae GSdx: sps fixed, some code clean up and optimization, ps2 logo still broken in hw mode, I'll check it later
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5062 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-08 17:10:00 +00:00
arcum42 8bb44cfcac gsdx-ogl: All the Windows versions get a fancy logo on top, so...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5059 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-08 04:59:29 +00:00
arcum42 4c5d1e11a8 gsdx-ogl: Fix a few glsl errors I missed last commit.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5043 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-04 11:14:57 +00:00
arcum42 0116402620 gsdx-ogl: Fix a few glsl errors. Comment out line 218 of GSDevice.cpp. Mess with the fifo hack a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5042 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-04 10:42:53 +00:00
gregory.hainaut cc6e486742 gsdx-ogl:
* add a new define (DISABLE_DUAL_BLEND) to easily test blend mode


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5040 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-03 16:12:34 +00:00
gregory.hainaut c1d7b81a55 gsdx-ogl:
* Use a geometry shader pass-through to replace previous AMD workaround
* various cosmetic change


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5038 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-02 20:08:11 +00:00
gregory.hainaut 9ca65c9cc6 gsdx-ogl: LINUX-ONLY
* invert the index of fragment output. Seem to work better on Nvidia (strangely no impact for AMD)
* opengl support pitch too, so remove useless copy to an fbo


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5034 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-30 22:25:17 +00:00
gregory.hainaut ea33beb360 gsdx-ogl: LINUX-ONLY
* Fix the Geomtry shader to output 2 triangles for quad primitive (ie 2R rendering)
- There is an AMD  driver bug on geomtry shader input interface (well could be the spec too). Tell me if it still working on nvidia
* Add a workaroung to a previous AMD bug. It is impossible to unattach a shader so destroy the full shader pipeline...
* Be more strict on FBO management. Would optimize it later
* use a texture insted of a render buffer for depth-stencil management.
* add more dumping capabilities (in particular depth buffer)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5033 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-30 13:55:33 +00:00
gregory.hainaut 000220f93f gsdx-ogl: LINUX-ONLY
* It works with the HW renderer !!!
* Not sure this fix will work with dual blending but we will see later
* screen is vertically flipped again...


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5031 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-29 14:39:53 +00:00
gregory.hainaut aa499f4bfd gsdx-ogl: LINUX-ONLY
* fix vertex shader for HW renderer :) Remains the fragment part...
* add some dumping infrastucture (DUMP_START and DUMP_LENGTH)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5030 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-29 14:24:26 +00:00
gregory.hainaut 6f5ac7b788 gsdx-ogl: LINUX-ONLY
* go back to opengl 4.1 (nvidia driver is buggy with 4.1).
* fix the backbuffer allocation. bad order of parameter
* fix remaining glsl error


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5006 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-22 14:12:12 +00:00
gregory.hainaut a9927a6e33 gsdx-ogl: LINUX-ONLY
* rework a little the shader to be hopefully compatible with nvidia
* request a pure 4.2 context (all gpu 4.1 capable support 4.2 anyway)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5003 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-21 23:09:36 +00:00
gregory.hainaut e4c70ad229 gsdx-ogl: LINUX-ONLY
Forgot the shader file...


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4997 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-19 21:04:16 +00:00
gregory.hainaut 83ad63a8a7 gsdx-ogl: LINUX-ONLY
* lay the foundation for the HW renderer on OGL


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4996 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-19 21:03:23 +00:00
gregory.hainaut fbb224837d gsdx-ogl: LINUX-ONLY
* Enable interlace feature. (note I'm well aware that interlace crashes with SDL)
* remove useless callback debug function
* handle the y axis differently. Move vertex to follow right-hand system (render everything in reverse) then flip the y-axis for the screen rendering


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4987 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-11 19:09:08 +00:00
gregory.hainaut afdb2dadc3 gsdx-ogl: LINUX-ONLY
* add a callback for GLERROR.  Allow to breakpoint on GSDeviceOGL::DebugCallback (gdb is completely lost on amd driver, hope it is better on nvidia)
* Add some empty glsl convert to shutup some useless debugging error
* request an advance opengl context without pre 3.0 feature.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4983 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-08 16:39:14 +00:00
gregory.hainaut 2be037d78f gsdx-ogl: LINUX-ONLY
* flip y-axis in merge stage
* default to xlib window managment (the dynamic switch between sdl and xlib crashi but SDL will probably dropped later)
* improve management of FBO, draw buffer
* try to fix some issue with glClearBuffer but spec is not clear.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4982 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-08 11:17:59 +00:00
gregory.hainaut a835de0af7 gsdx-ogl: LINUX-ONLY
* implement the saving of texture (take bmp SW code)
* fix the missing "enable attribute code" and the typo in glsl. It works now !!!
* rework a little texture to pack texture into a temporay buffer when src pitch != dst pitch
* try to replace sdl with pure xlib (not yet enabled by default but it seems to work)

Note there still a minor issue, coordinate are different between DX and OGL (upper-left vs lower-left) so the image is inversed.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4981 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-07 22:05:46 +00:00
gregory.hainaut eb3eafa090 gsdx-ogl:
* implement shader code (subset that seem to be used in SW mode)
* some hack to fix some alignment issue with GSVertexPT1 structure
* Lots of various opengl fixes. Remaining unsupported GL feature are inside SDL.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4974 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-30 21:42:41 +00:00
gregory.hainaut 6125baa578 gsdx-ogl:
* make a rough implementation of most of the opengl device interface. Only a savestate nothing to expect yet.
* depend of libglew 1.6 (normally 1.7 but I manually defined the only missing function)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4971 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-21 22:36:03 +00:00
shadowladyngemu d953f053d8 GSdx fixes:
Skygunner crashing on boot.
James Bond 007: Everything or Nothing doing a huge Vram usage when opening the weapons screen and making the system crawl at it. Couldn't test much with this one and only added the US version for now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4921 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-05 09:19:32 +00:00
gabest11 bfbf403bf4 GSdx: FXAA 3.10, page up key activates it
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4828 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-25 11:16:01 +00:00
gregory.hainaut@gmail.com 32911cb7c5 gsdx: add svn:eol-style metadata
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4319 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-19 10:57:28 +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 bda5b06e37 Made resources recompile when a shader is modified, though I'm not happy with the solution.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2717 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-15 19:13:51 +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
Jake.Stine b86a9477e4 GSdx: fix a crash on Intel GM 910/915 and other PS 2.0-only cards, by removing a reference to VPOS (which is PS3.0 only).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2651 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-01 15:26:25 +00:00
gabest11 0d40e9963e vs2010 project files for pcsx2 (plugins later)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1617 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-12 22:11:06 +00:00
gabest11 cc3130660a GSdx:
- Automatic texture filtering should be ok now, occasionally point filtering was used. Tested it on the ps2 and figured with no mip levels LoD and minification settings are just ignored altogether.
- Also run a few tests on the gather instruction with the reference rasterizer and found a fatal flaw with it. It returns the four samples for bilinear sampling (in a funny order, which isn't documented of course, x = bl, y = br, z = tr, w = tl), but there is no way to guess which four were selected exactly. Due to some hidden rounding error it might grab different texels than I would when calculating the position of the upper-left texel, of which the fractional part is be used for the interpolation. When the texel positions do not match it leaves annoying discontinuity errors. Oh well...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1571 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-26 15:30:25 +00:00
gabest11 3a569dba23 GSdx: disabled "gather" until I can sort it out
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1551 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-22 12:23:58 +00:00
gabest11 83b15dbac0 GSdx:
- trying the dx10.1-only "gather" shader instruction for palletized lookups ("8-bit texture" mode), saves 4 instructions which isn't much but still... (not tested, don't have ati)
- may fix the intel gma "no output" bug (don't have gma either :P)
- and the usual small code optimizations


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1549 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-22 03:55:28 +00:00
gabest11 e58776e095 GSdx: just squeezing a few more fps.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1534 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 21:36:07 +00:00
gabest11 aa438a6b73 GSdx: game fixes and small optimizations
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1495 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-12 13:46:05 +00:00
gabest11 a7ce451167 GSdx: couple of fixes for the new palletized lookup mode
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1475 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-07 10:57:04 +00:00
gabest11 f9f056d581 GSdx: fixing/breaking things again... palletized texture lookup can be done by pixel shader now (selectable, off by default), if you have a fast card it may help with texture heavy games, otherwise it is only going to be slower.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1472 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-06 16:35:06 +00:00
gabest11 f24be5c352 GSdx: a few games fixes (one piece grand battle, xenosaga 1, chikyuu boueigun 2)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1469 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-05 12:58:59 +00:00
gabest11 c68802a334 GSdx: dq8 fix
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1448 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-01 22:29:24 +00:00
gabest11 5a292d202d GSdx: couple of fixes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1447 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-01 21:14:12 +00:00
gabest11 7bb9a3cc25 GSdx: changed a lot of things, expect new bugs :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1439 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-27 03:32:33 +00:00
gabest11 b284fae2d5 GSdx: moved around some code and optimized texture caching a bit, there may be a slight speed-up in hw mode for those games that use many textures.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1425 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-23 04:12:32 +00:00
gabest11 6ef94cc707 GSdx: ignore this...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1404 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-19 20:24:18 +00:00
gabest11 df8c611084 GSdx: trying to fix gaps between sprites that may still appear with d3d in native res
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1402 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-19 13:03:59 +00:00
gabest11 8e979f1b96 GSdx: moved 16 bit texture processing from gpu to cpu, with the pixel shader it was either incorrectly done or too slow, please check what got slower/faster or broken :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1375 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-17 11:24:42 +00:00
gabest11 690ef417b1 GSdx: replaced switch with ifs in the shaders, kingdom hearts should be fixed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1362 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-13 19:41:34 +00:00
gabest11 5736bbd449 GSdx: looking for an opengl guru...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1360 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-12 19:09:17 +00:00
gabest11 6841f7fd98 GSdx: that damned different pixel center of dx10... this one should fix the screen edge and other strange artifacts that appeared in non-native resolution.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1357 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-11 09:27:59 +00:00
gabest11 4e20305fe2 GSdx: dx10 hw mode sharper again
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1354 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-10 17:03:23 +00:00
gabest11 b678bb129c GSdx: texture filtering checkbox fixed, changed texture lookup a bit, removed more unused code
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1351 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-09 10:13:28 +00:00
gabest11 4ed3035661 GSdx: pixel shaders were reorganized, things might be broken :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1341 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-06 17:53:34 +00:00
Jake.Stine 95ff8e3a98 GSdx: Applied normalization of UV in the DX9 texture repeat shader, allowing it to be re-enabled. Fixes massive slowdown in the Xenosaga 2 opening menu (Issue 262 / DX9 only) [note: collective fix uncovered by sudonim, feal87, and drk||raziel -- I'm just the patching boy]
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1340 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-06 11:00:30 +00:00
gabest11 3e12966919 GSdx: Even more alpha test voodoo magic, it must be nailed now!
And there is even an explanation. 

The tfx functions calculate At * Af >> 7, which means modulating by 0x80 should return At as the result. 

With the evil floating point pixel shader however 0x80 translates to 128/255 (0.502), not exactly 0.5, modulation as At' * Af' * 2 (' means 0 - 1.0 range) is not the same as with integers.

At' = Af' = 0.502
At' * Af' * 2 = 0.504

If the alpha test happens to be "not equal to 0x80", then abs(0.504 - 128/255) < 0.5/255 will just miss.

Solution is to re-scale those values to the integer range, do the calculations, and then back to float again, but in the end it just simplifies down to At' * Af' * 255/128, doh...

At * Af >> 7 => ((At' * 255) * (Af' * 255) / 128) / 255 => At' * Af' * 255/128

At' = Af' = 0.502
0.502 * 0.502 * 255/128 = 0.502 (w00t!)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1272 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 05:55:32 +00:00
gabest11 081006bcbe GSdx: dx9 hw mode got a vertex buffer too (as dx10), it was an old TODO...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1250 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 23:52:53 +00:00
gabest11 8d119f3928 GSdx: more source cleanup and something interesting on F7
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1239 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-22 23:23:38 +00:00
gabest11 c64691811a GSdx: 3.4.9. Texture Function => Decal/TCC=RGB: Av = At (gs_user v3 and v5) or Av = Af (v6)? Seems it was Af... Sonic unleashed was one of the games relying on this setting, could not find any other yet. Also removed the green stripes, shadow sw-mode only.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1145 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-07 12:34:58 +00:00
gabest11 270c8ee3d2 GSdx: more alpha test magic
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1076 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 21:19:50 +00:00
gabest11 1245659eee GSdx: fixed Issue 182 (narrowed the neq alpha test range to +/-0.4f/255, scream if something broke), and re-enabled something to make DATE faster (counting min/max of the vertices outperforms stencil buffer clearing when there are many small primitive batches).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1074 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 20:17:06 +00:00
refraction 93da10abbb git-svn-id: http://pcsx2.googlecode.com/svn/trunk@411 96395faa-99c1-11dd-bbfe-3dabce05a288 2009-02-06 19:15:15 +00:00