Commit Graph

259 Commits

Author SHA1 Message Date
gregory.hainaut d5b318b990 zzogl:
* move all remaining glx into the dedicated GLwin object
* rework a bit WGL to separate opengl context and window creation (like linux actually)

gsdx: Allow to control vsync. Not sure I used the good extension.

cmake: 
* check that EGL opengl context creation
* Shut up gcc warning when force inline might not work...



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5437 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-21 18:10:13 +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
gregory.hainaut 636c16f2df gsdx ogl:
* add some dummy shader. Can be modify inside the debugger apitrace
* glclear* commands` seem to depend on scissor test and depth mask. Allow full write for the depth buffer
* texture debug, try to output some nice colors for the depth buffers


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5365 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-08 17:49:23 +00:00
gregory.hainaut f8875f12dc zzogl: rework dump test, to avoid bad mix between u32/u8
glsl4: Replace some define with function (ogl4 support function pointer). Explain how depth is computed in vertex shader


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5233 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-27 08:13:27 +00:00
gregory.hainaut c6d8af0c7f gsdx-ogl: only enable AMD hack when linking ps2 related shader. Otherwise SV_Target1 in convert is wrongly remapped
zzogl: check harder that the previous primitive exist.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5232 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-26 09:58:37 +00:00
gregory.hainaut b665499a6b gsdx ogl:
* split GSDeviceOGl header. Will allow easy sharing with zzogl.
* fix some gcc warning
zzogl:
* import Uniform buffer and Vertex array from GSdx



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5207 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-13 17:09:18 +00:00
gregory.hainaut 2f9e35e5ae i18n: tr_TR pcsx2_Iconized is wrongly translated. I fuzzy all strings to have an english string instead of lookup key
various: apply some patch of Micove to disable debug logging in GSdx release mode 


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5206 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-11 20:52:50 +00:00
gregory.hainaut a7dbaed3b1 gsdx ogl: find a way to workaround the buggy amd driver to support dual blending
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5203 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-11 19:39:32 +00:00
gregory.hainaut 75484d3059 cmake: apply some updated pathes of Micove
* drop hack for of Natty and use the std FindGtk2 module, time to upgrade to Precise.
* Bump cmake requirement to 2.8.5 to avoid multiarch issue
* Create new cmake variable GLSL_SHADER_DIR for glsl file.  Default value /usr/share/games/pcsx2


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5200 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-07 16:29:06 +00:00
gregory.hainaut 6fd47b2907 gsdx-ogl: * implement shadeboost (only test the compilation)
Note: gui must be updated with new user hack


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5181 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-26 21:42:16 +00:00
gregory.hainaut 16a1fded96 gsdx-ogl: LINUX ONLY
* Keep the state of the draw buffer (save few opengl call)
* AMD fix the shader unloading (12.2 and above). So disable the workaround


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5137 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-30 19:02:37 +00:00
gregory.hainaut d6e7ea4a4e GSdx-ogl: LINUX only
* request a minimum of 1 for texture dimension
* Use offscreen texture likes DX11. 
* add more bits for extra texture format 
* do operation on texture unit 0 to avoid ping-pong between unit 0/2


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5114 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-05 20:16:26 +00:00
gregory.hainaut 92f2ab38ae GSdx-ogl: LINUX only
* Use the new map interface/separate texture coordinate inside shader
* support new format on texture

Note: it is quite instable with various crashes and GL error but at least it compiles now :p 


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5094 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-02-11 10:22:02 +00:00
gregory.hainaut 6680d285ea gsdx-ogl: linux only
* implement some missing shader for DATE, invert coordinate like strech rectangle
* Use glCopyImageSubDataNV nvidia extension to copy image (you need latest AMD drivers)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5086 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-31 17:08:05 +00:00
gregory.hainaut 86a9910027 gsdx-ogl: linux only
compilation fix, add bits for the index buffer.
current status is blackscreen :p


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5070 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-15 17:25:49 +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
gregory.hainaut 14b0572b61 gsdx-ogl:
* fix bad setup issue for constant blend factor
* Use a read framebuffer to read back the texture (less disruptive)
* cmake separate the loader to the main plugins


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5064 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-08 21:59:42 +00:00
gregory.hainaut 21724ddbf8 gsdx-ogl: add a loader to replay gs file. Quite shaky but probably enough for debug :)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5052 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-06 21:43:39 +00:00
gregory.hainaut 0e80e0adca gsdx-ogl:
* add some define to enable/disable SDL so we could build gsdx without SDL
* debug: dump data based on frame count rather from draw count


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5044 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-04 23:19:17 +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 76542f89c9 gsdx-ogl: code seems compatible with an opengl 3.3 context. Only load some shader extensions.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5041 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-03 17:17:04 +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 90c52c27f6 gsdx-ogl:
* replace hexa debug value with nice string for standard human
* move things around


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5039 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-03 13:11:40 +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 2f4e2d8b6b GSdx-ogl: happy new years commit :)
* move all vertex buffer stuff into the class
* Bypass FIFO2 because of multithread issue with OGL(temporary workaround until we found a nicer solutions)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5035 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-31 14:38:58 +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 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 33a9ac370a gsdx-ogl: LINUX-ONLY
* implement offscreen and cache (mostly a copy past of dx)
* add the missing macro selector of the shader...


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5009 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-23 12:32:40 +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 f604ba8d7f gsdx-ogl: LINUX-ONLY
Remove foreach feature not supported on old compiler


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5002 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-21 20:37:24 +00:00
gregory.hainaut 9272be182e gsdx-ogl: LINUX-ONLY
* add the forgotten hardware renderer object.

Oh my gosh! Opengl is 20% faster than Dx!!!


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5000 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-21 19:08:31 +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 ab01926ed5 gsdx-ogl: LINUX-ONLY
* rewrite the vertex management with a nice GSVertexBufferState object
* extend GSUniformBufferOGL to use a better object interface
* properly delete texture
* manage buffer with glMap* instead of glBufferSubData


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4990 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-15 18:27:58 +00:00
gregory.hainaut 4029cc5195 gsdx-ogl: LINUX-ONLY
* constant buffer are attached to contexts not programs. So do it only once!


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4988 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-11 19:11:01 +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 daf3c43681 gsdx-ogl: LINUX-ONLY
* improve vertex management with a vertex array. Decorrelate vertex from strech rec and others func (later for the HW renderer)
* fix the crash on nvidia when closing the window
* clean some texture management code


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4985 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-10 19:19:44 +00:00
arcum42 e6057b765f gsdx-ogl: LINUX-ONLY * Fix context creation. Get opengl working with nvidia graphics cards.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4984 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-10 11:56:34 +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 133847e8a2 gsdx-ogl:
* Properly allocate/delete opengl object
* Request a debug context in SDL, add some code to log opengl error 
* Fix context creation. For the moment only request ogl4.1 (AMD does not support yet 4.2 and it needs libglew1.7 too...)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4973 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-26 11:46:51 +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
gregory.hainaut da66ca7fd9 gsdx-ogl: preliminary work of an opengl backend. So far only skeleton and various note.
Current goal is to implement the SW render with pure opengl instead of SDL.
I plan to use OpenGL4.2 capability (the latest actually) => need libglew1.7 and a Dx11 capable GPU/drivers.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4970 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-16 22:17:37 +00:00
sudonim1 8c0fc49f61 GSdx: Removed DX10 support in favour of DX11. I am told that this shouldn't affect anyone and it reduces code duplication. (DX11 was already missing some changes in DX10, I have ported them.)
GSdx: Removed OpenGL "support".  Nobody showed any interest in getting this working.
GSdx: Removed PS1 GPU support.  pcsx2 does not use this and it is unmaintained, likely broken, and frequently confuses intellisense.
GSDumpGUI: Use the correct export for the library name, was using the PS1 version.

If any of the above code is needed in the future, we have this wonderful technology called version control.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2754 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-19 20:27:06 +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
gabest11 cea0f395aa GSdx: experimenting with msaa, add msaa=N to gsdx.ini to activate it (N=2,4,8)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1597 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-02 23:07:30 +00:00
gabest11 3f4f3db3e6 GSdx: little code cleanup
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1591 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-31 23:59:06 +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 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 4c76909afe GSdx: small optimizations and tried to fix that dx9 fullscreen alt+tab crash
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1463 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-04 15:14:04 +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 48eae0c907 GSdx: more opengl code, please review, I have no idea if it done the right way ^_^
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1372 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-16 01:42:08 +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