Commit Graph

2133 Commits

Author SHA1 Message Date
gregory.hainaut 44d8301bb2 spu2x: array out of bond (-1)
Performance note, it might be faster to replace the MODULO with an AND. Not sure on the impact
for the new time stretcher algo.

GSdx: fixed use-after-free (linux)

PCSX2: 
* add a define to support address sanitizer (both rely on 0x20000000-0x3fffffff memory ranges..)
* sio_buffer out of bond (-1). Maybe we can move the flush in the 2 if previous branch. It would
avoid the extra test.
* wxGetEnv (linux) generates double free (maybe not thread safe). Cache the result so it doesn't crash 
anymore when switching renderer

Comment/Review/Improvement are welcome :)




git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5727 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-10 11:41:11 +00:00
gregory.hainaut fb684df32b pcsx2: fix 4 arrays out of bond
Gsdx: fix a memcpy src/dst overlap + a clang compilation fix



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5726 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-05 20:01:47 +00:00
gregory.hainaut e01c6cd9ce gsdx ogl: the proof of concept commit
* GL_ARB_shader_subroutine for perf
fix for nvidia => add missing shader declaration. Nvidia got +4fps on colin3 :) 

For the moment only 2 PS parameters are supported. Code need to be extended to support others games that often
switch shader program (like xenosaga).
require GL4 class hardware and the option override_GL_ARB_shader_subroutine = 1
Note: strangely on AMD linux it is slower!

* GL_ARB_shader_image_load_store for accuraccy (Date)
Use a signed integer texture and reenable color buffer writing

Current status: Amagami_transparency.gs & P3_battle_shadows.gs are now working on Nvidia with a small perf impact.
Current implementation detail:
1/ setup the standard stencil as before
2/ on remaining pixel, draw once to compute first primitive that will write a fail alpha value.
3/ final draw based on primitive id of step 2

Note: I think we would get a bad behavior if depth test&mask are enabled on step 2/3
Note2: on my limited testcase the perf impact was on CPU. It would be possible to merge step1&2 to nullifying it (could 
even be faster actually), however it would require more GPU power.

Again require GL4 class hardware. And the option UserHacks_DateGL4 = 1



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5725 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-28 08:44:16 +00:00
gregory.hainaut 452cf72ddf onepad: fix a bug to handle multiple button (fix #1271)
zzogl: fix memory leak (fix #1431, #1432)
GSdx ogl: disable geometry shader on Nvidia/Windows (I will wait a 3rd implementation to find which one is correct)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5724 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-25 12:11:32 +00:00
ramapcsx2.code 3aa0f374d4 Just fixing this oversight. Thanks, gb2985.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5723 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-21 10:10:45 +00:00
gregory.hainaut 690432de30 gsdx ogl:
* redo most of the texture upload (PBO): colin3 benchmark: 32 fps now (vs 26 fps 2 weeks ago)
* use the cross vendor vsync extension on linux (previous wasn't supported by nvidia)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5721 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-17 09:05:41 +00:00
gregory.hainaut 07605941ef gsdx ogl:
* some preliminary work to test/benchmark bindless texture in the future (glsl was not yet updated)
Bindless texture allow to get a GPU texture pointer and then set it directly
to the shader as a basic uniform.
=> no more texture unit selection/validation
=> no more texture validation neither texture hash lookup

3rdparty: update gl header to the latest gl4.4


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5720 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-17 08:57:52 +00:00
gregory.hainaut b4084047be gsdx ogl: Used a basic flat interpolation for color interpolation (line & tri primitives)
Card that support gs:
remain only a gs to generate sprite from a line. Even dummy gs are costly for the GPU.

Card that don't support gs:
remove useless copy of color for line and triangle primitives

Note for dx: opengl 3.2 (maybe not gles) supports both flat interpolation
convention (GL_FIRST_VERTEX_CONVENTION or GL_LAST_VERTEX_CONVENTION).  It might
be possible to shuffle vertex index to put the last vertex in first position.

- buff[0] = head + 0;
- buff[1] = head + 1;
- buff[2] = head + 2;
+ buff[0] = head + 2;
+ buff[1] = head + 1;
+ buff[2] = head + 0;



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5718 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-14 10:18:38 +00:00
gregory.hainaut 0f603a98d5 gsdx ogl: Test the ARB_shader_subroutine GL4.0 extension
The idea was to replace shader program swith by pointer function calls inside
shaders.  At least parameters that are often changed between draw call. So far
I only ported atst and colclip. Unfortunately code is "slower" (on GSdx standalone).
For the moment keep the code but disabled.

If I understand well the validation of program is done in the "driver thread"
but the additional call are done in the overloaded MTGS thread. Apitrace
profiling shows faster GPU draw calls. Another possibility is that the driver still
need to validate the draw call because of others state change.

Here some stats on colin3 (90 frames):
without subroutine: UseProgram 125246
with subroutine: UseProgram 2906, subroutine 125945 => 3605 extra calls overhead (not
all parameters are ported to subroutine)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5715 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-10 19:43:59 +00:00
gregory.hainaut c9755361ec gsdx ogl: remove useless ps.rt
Note: I think we can do the same on DX11

Perf wise: on colin mcrae 3 it reduces shader prog setup from 3005 to 2086 each frames. It saves 2 ms of CPU processing (27->29fps)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5714 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-06 06:48:44 +00:00
gregory.hainaut a46b489a24 gsdx ogl: various minor optimization.
* move most of gl states into a separate namespace. Extend it to depth/stencil/blend micro state
=> save 10,000 opengl call by frame for colin mcrae 3
* Only setup blend state of first drawbuffer
* Don't request anymore a debug context on dev/release build



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5713 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-05 20:25:25 +00:00
gregory.hainaut 34045eb8f7 gsdx ogl: AMD users upgrade to 13.8 now ;)
* clean extension management and fix compilation of previous gl44 code.
* Use pixel buffer object to upload texture data.
=> avoid crash on AMD driver
=> a bit faster and probably got some margins for the future



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5712 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-03 08:29:01 +00:00
gregory.hainaut 64f783410e gsdx ogl:
* preliminary work for GL4.4 extensions (ARB_clear_texture & ARB_multi_bind). Disabled until I got a 4.4 driver
Note: I plan also to use ARB_buffer_storage
* compute texture gl option in the constructor (avoid a couple of swith case)
* redo texture unit management. Unit 0-2 for shaders, Unit 3 for texture operations. MultiBind will allow to bind 
shader input without disturbing texture binding points.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5711 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-02 16:38:12 +00:00
gregory.hainaut 2634ee851c miss another debug stuff
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5709 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-28 19:08:46 +00:00
gregory.hainaut a172da1f30 gsdx ogl: oups forget to disable stencil debug
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5708 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-28 17:12:23 +00:00
gregory.hainaut e394de86dc gsdx ogl:
* add a non-working hack: UserHacks_DateGL4, goal was to replace UserHacks_AlphaStencil
 + Detection of good/bad samples is based on primitive ID variable. However I'm not sure
 the behavior is always the same between draw call...Anyway let's keep a copy of the current
 work
* Dump integer texture into text csv
* add gl4.2 ARB_shader_image_load_store extension (needed by UserHacks_DateGL4)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5707 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-28 14:40:43 +00:00
ramapcsx2.code 1c9146b07e Working on my backlog: GSdx CRC patches.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5705 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-23 13:55:38 +00:00
gregory.hainaut d3e1e4da0d gsdx ogl:
* allow to switch renderer with F9
* skip first frame in stat of the replayer
* drop msaa. Fxaa and internal resolution will do the job
* move texture attachment from texture object into device object (allow to keep sanely the state)
* split the write buffer and attachment setup
* completely split sampler and texture input setup
* redo GSDeviceOGL::CopyOffscreen to avoid an extra copy.



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5704 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-19 19:25:50 +00:00
gregory.hainaut b912778a3c gsdx: forget to regenerate shader in previous commit
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5702 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-13 16:31:19 +00:00
gregory.hainaut 916a091f8a gsdx ogl: GLes
* use gles header file, disable opengl code (mainly GLX, ARB_sso, geometry shader)
* Define properly the function pointer, GLES use basic linking whereas GL must get the symbol dynamically
* cmake: properly search and set libglesv2.so
* don't use dual source blending => HW renderer work (only miss unimportant FBA)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5701 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-13 11:39:45 +00:00
gregory.hainaut bd5f379044 gsdx ogl:
* uniform was wrongly set before the activation of the program (free driver only)
* Always use only 1 drawbuffer. Easier besides previous setup was wrong for convert:ps_main1

GLES trial (v3):
* add the cmake option GLES_API. Note library (libgles) are hardcoded for the moment
* Disable opengl check
* Disable gl_GetDebugMessageLogARB not supported!
* Emulate gl_DrawElementsBaseVertex, add manually the index offset (surely slow but work)
* Fix hundred of shader error (no implicit cast of integer to float...)
Unfortunately GLES doesn't support dual blending so no blend in hardware renderer. Otherwise it is fine




git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5700 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-12 21:12:34 +00:00
gregory.hainaut a764950468 gsdx ogl:
* replace vertex interface with block interface. It avoid to depends on the ARB_sso extension.
* disable geometry shader on Nvidia & Linux. Slower but better than a black screen !
* default logz to 1, avoid some glitches.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5699 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-11 17:08:42 +00:00
gregory.hainaut f22b366cea gsdx:
* redo glsl2h.pl script to generate only one big glsl headers.
* fix gcc warning in GSVector.h
* fix memory leak of GSDeviceOGL.m_shader
* clean shader compilation function => split generation header & drop malloc stuff
cmake:
* only rebuild shader when asked by the use. Avoid perl dependency to build pcsx2


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5698 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-07 16:13:11 +00:00
gregory.hainaut dc036ff59d gsdx: split shader/program/pipeline object management into a separate class
* remove the possibility to compile shader from file. Some people loads older shaders...
  The feature might be readded later


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5697 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-06 10:08:52 +00:00
gregory.hainaut 544c84a344 gsdx:
* try to setup advance gl context attribute. If driver doesn't support it fallback to the default.

zzogl:
* use glsl2h to generate an header shader as GSdx. Much easier to install
* Get GSUniformBufferOGL & GSVertexArrayOGL speed improvement from GSdx

cmake:
* detect current gcc version. Yield  a warning if < 4.7 or an error if < 4.5

glsl2h:
* support zzogl too
* compute md5sum to avoid useless relink


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5696 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-06 09:42:46 +00:00
gregory.hainaut ba2ec6fe59 all: gcc warning clean round 4
* remove unused variable
* move static function from h into cpp
* Initialized hw_by_page to 0xFFFFFFFF instead of -1 (number must be a positive integer)
* Use a s32 fore m_current_lsn instead of u32 (use -1 as error code)
Bonus: a couple of fix for clang compiler (doesn't mean that it fully compile with clang)
* remove useless __debugbreak on linux
* use short for 16bits atomic function


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5695 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-03 18:42:05 +00:00
gabest11 811a3d96cc Fix for the v110_xp toolset in vs2012. Removed winuser.h from afxresmw.h, nothing seems to be using it, but it breaks something in string.h. I did not change the projects to use v110_xp by default, to get an xp compatible binary, you have to call it from command line like this: msbuild pcsx2_suite_2012.sln /t:Build "/p:Configuration=Release AVX2" /p:PlatformToolset=v110_xp /m. Change Configuration=... as needed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5694 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-02 16:01:06 +00:00
gabest11 ddaa892726 Removed ATL/MFC dependencies from every project, the free version of visual studio does not have those. It compiles with vs2012 express now, will fix others later, in case they are broken.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5692 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-01 21:28:58 +00:00
gregory.hainaut a4475a4595 spu2x:
* remove iconvert.cpp not used anymore
* change copyrigh header from GPL to LGPL. Those 2 files are only basic .h. 1 licence by plugin is enough ;)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5691 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-01 16:43:35 +00:00
gregory.hainaut 91d39de645 gsdx ogl: fix crash when pause/resume with EGL (opensource driver)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5690 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-30 15:27:50 +00:00
gregory.hainaut d81254469a gsdx ogl:
* fix shader compilation on Nvidia (broken on r5682)
* fix various memory leak thanks to Valgrind

Cmake: fix a minor typo


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5688 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-30 11:18:46 +00:00
gregory.hainaut 58cacc3b1c gsdx: use size_t for loop index when it used countof macro
* fix override_GL_ARB_copy_image typo


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5687 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-29 12:02:03 +00:00
gregory.hainaut 40e26648c6 all: gcc warning clean (round 2)
* reorder static initialization list
* Add missing virtual desctrutor to virtual object
* int -> uint/u32/uint32 cast of for loop index
* add a missing return in pxTrySetFocus
* fix size parameter of memset m_clut
* disable missing-field-initializers warning
* disable unused-local-typedefs warning


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5685 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 17:32:37 +00:00
gregory.hainaut d9af23c946 plugin: restore sprintf_s on windows and hopefully fix vs201n compilation
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5684 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 17:11:16 +00:00
gregory.hainaut 3c7167be50 clean (some) gdb warning: round 1
* use svnrev.h on linux too
* replace sprintf_s with snprintf (hope it still compile on Windows)
* init integer with 0 instead of NULL
* various int -> u32/uint32/uint on for loop index
* remove a couple of unused variable
* init few variable
* disable unused warning results


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5683 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 10:43:50 +00:00
gregory.hainaut ca1edbf2cb gsdx ogl:
* Separate state and shader compilation into separate function
* replace various hash_map by basic array
* Compact VertexScale and offset into a single vec4
* add the new option "ogl_vertex_subdata": subdata is faster on FGLRX, test are welcome on Nvidia drivers
    0 => use map/unmap
    1 => use subdata

replay: add "linux_replay" option and compute some nice stat (mean, standard deviation)

cmake: recreate shader header at build time


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5682 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-26 20:09:07 +00:00
gabest11@gmail.com 9cd463e4f8 GSdx: obligatory vs2010 compiler fix
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5681 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-24 06:29:08 +00:00
gabest11@gmail.com 4dd898c754 GSdx: Found some 16-bit integer overflow in GSState::VertexKick, some triangles could have been removed by the scissor test.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5680 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-24 01:11:00 +00:00
gabest11@gmail.com 37dd5f5bb5 GSdx: copy-paste mistake, thanks rama :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5679 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-23 12:13:40 +00:00
gabest11@gmail.com 20d99ae9fc GSdx: vs2010 fix and minor changes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5678 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-23 10:46:24 +00:00
gabest11@gmail.com d20bd4f86a GSdx: The sw renderer now uses avx2, not much faster though, +10% maybe, if the game is not EE limited. I'm not sure if haswell has that much better sse execution (load/store units doubled for example), or the avx2 code is not fully optimized yet.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5677 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-20 05:07:52 +00:00
gabest11@gmail.com 3b753bec42 GSdx: sse2/ssse3 missing graphics fix
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5676 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-18 00:25:46 +00:00
gabest11@gmail.com 8b9f5b5bc2 GSdx: More avx2 code to read/write different block formats, the GSBenchmark function shows nice improvements, but no games run faster. I just upload the changes before messing with the drawing part.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5675 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-17 04:11:10 +00:00
gregory.hainaut f4ce6d6fce gsdx:
* don't delete the wnd in GSclose. It can still be used later
* Properly detect the GL_ARB_gpu_shader5 extension for Fxaa
* A couple of fix in Create (GSopen1) of GSWndEGL/GSWndOGL


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5674 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-16 16:33:08 +00:00
gregory.hainaut b7a6dd93b3 i18n: refresh string translation
GSdx: nothing to see :p


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5673 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-16 09:55:37 +00:00
gregory.hainaut f4b173bbd1 gsdx: miss a part of the previous patch...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5672 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-16 09:43:34 +00:00
gregory.hainaut 09571dac0b gsdx:
* add exception in GSWndEGL and GSWndOGL 
* Try to use EGL when GLX failed => you don't need any flags for the opensource driver ;)

cmake: don't install anymore the glsl shader


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5671 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-16 09:40:38 +00:00
gregory.hainaut 9b037a3813 pcsx2: increase a bit the minimum size of the plugin dialogs (GSdx name is too long)
gsdx:
* move gl function loading into GSwnd. Clean the header and avoid to rely on macro.
* Always require libegl for GSdx. You still need to select the API at compilation.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5670 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-16 08:43:50 +00:00
gregory.hainaut b10d554764 gsdx (ogl):
* fix memory leak of m_wnd
* don't escape % in the shader string
* Fix shadeboost StretchRect parameter

debian: compress package with xz


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5669 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-16 07:05:57 +00:00
gabest11@gmail.com 1da166a1af GSdx: minor fixes to previous commit, rundll32 window not showing and a compiler warning
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5668 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-16 02:48:16 +00:00
gregory.hainaut 91e74637d5 gsdx-ogl-wnd:
* update linux dialog: create a custom shader box and put it Shade boost and Fxaa
* force the reloading of the inifile after any configuration update.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5666 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-15 15:03:44 +00:00
gregory.hainaut 4c37d25134 gsdx-ogl-wnd: fix ifdef mess on fxaa (both dx and ogl)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5665 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-15 10:35:10 +00:00
gregory.hainaut adc232cb95 gsdx-ogl-wnd: VS2010 doesn't support string bigger than 64k bytes. So remove PS3&360 shader from fxaa
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5664 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-15 10:06:47 +00:00
gregory.hainaut 19961175c9 gsdx-ogl-wnd: port (minor) renderer update of r5649 to opengl
Now the brach is ready to be merged :)

Dears Window users. If you can test that:
1/ still compile
2/ still running on DX
3/ can run with opengl


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5663 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-15 09:24:13 +00:00
gregory.hainaut f8242bd458 gsdx-ogl_wnd: Merging r5633 through r5661
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5662 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-15 09:05:02 +00:00
gregory.hainaut 93d2cd6f7e gsdx-ogl-wnd: ... forget to add the file...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5661 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-15 07:22:11 +00:00
gregory.hainaut 8ec0275a96 onepad: Don't try to acquire the lock when it wasn't initialized. Avoid
the freezing of the window when a plugin failed to open.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5660 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-15 07:20:02 +00:00
gregory.hainaut 59501227b3 gsdx-ogl-wnd: implement fxaa. I directly reuse the .fx file with minor update
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5659 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-14 21:22:44 +00:00
gregory.hainaut 92a3549e9c gsdx-ogl-wnd:
* Patch from miseru to fix VS2010
* Quick fix for 8-bits textures


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5658 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-14 16:22:22 +00:00
gregory.hainaut e021630bb9 gsdx-ogl-wnd:
* Don't write color during stencil. Keep the old method to ease debug
* Realign date shader on DX
* keep stencil ref to 1. Reduce stencil management burder
* Fix texture pitch (was in pixels but need bytes). Fix Bleach Blade Battlers 2. Thanks Miseru for your trace

Remember note:
fxaa -> not yet implemented
msaa -> not implemented (I might drop it actually)
8 bit texture -> not yet implemented



git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5657 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-14 11:34:44 +00:00
gregory.hainaut 382258ec03 gsdx-ogl-wnd:
* properly set the stencil write mask
* Multiply Y coodinates by -1. Let's hope it fixes shadows gliches.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5656 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-12 20:57:16 +00:00
gregory.hainaut 041bf4cee6 gsdx-ogl-wnd:
* detect Advanced Micro Devices for newer AMD Card...
* Mess with coordinate for StretchRect. Upscaling seem to work now. Surely the biggest diff between ogl and dx...



git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5655 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-11 11:14:26 +00:00
gabest11@gmail.com c94ee5e4ce GSdx: one more try to fix vs2010
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5654 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-10 20:43:03 +00:00
gabest11@gmail.com a5103a28e7 GSdx: attempting to fix vs2010 project files, I don't have it installed anymore.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5653 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-10 18:48:14 +00:00
gabest11@gmail.com 43c7235cc3 GSdx: Added a vector class for AVX2 and upgraded a few functions to use it, still a lot to do. New project config AVX2, _M_SSE = 0x501, only use it if you have haswell. Might break GCC or older MSVC, please test it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5652 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-10 15:56:11 +00:00
gregory.hainaut 58699923e0 gsdx-ogl-wnd:
* factorize sample object creation
* remember frame buffer attachment state
* Use a basic context on EGL. Allow to use Mesa 9.1 on AMD GPU.
* precompile vertex and geometry shader to avoid benchmark polution on replay
* Try harder to detect FGLRX driver on window
* various clean

Remain to fix the coordinate system for upscaling



git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5651 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-09 16:41:58 +00:00
gregory.hainaut 65b5a376ed gsdx-ogl-wnd:
* Fix shader alpha issue. Hoppefully fix lots of glitches.
* Use glBufferSubData to upload data into the constant buffer instead of map/unmap. More fps :)
* Fix wrong api setup on EGL
* Be more portable on glsl2h


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5650 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-07 19:16:27 +00:00
gabest11@gmail.com d27b606e5c GSdx:
- changed the KH2 fix in GetTextureMinMax to my taste, should give the same results, when the used texture rect is to the left/above the clamped area, it returns [min, min+1], and [max-1, max] for right/below
- m_mem.m_clut.Read32 was returned to its original place from GetAlphaMinMax
- UserHacks_WildHack was moved up to GSState, special UV handlers are only used when this setting is active
- updated xbyak to the latest available (avx2 seems incomplete, the 256-bit promoted old instructions are missing)
- changed vtune's include path to the 2013 edition

Some other not yet commited changes from a year ago:
- WriteImageX overflow crash-fix
- moved colclamp after dithering (sw mode), it makes more sense, no visible changes noticed
- Gif_Tag::analyzeTag(), there was a conditional I didn't like, split the loop into two parts

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5649 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-06 11:36:01 +00:00
gregory.hainaut efcb015361 gsdx-ogl-wnd:
* clean texture management & use different texture unit for various texture operation
* separate sampler and texture setup
* Always disable GL_SCISSOR_TEST before any cleaning to be sure the all pixels are reset
* properly set upscale_multiplier in the linux gui (was mixed with msaa). Unfortunately it is still broken...
* Fix EGL with GSopen1
* Use stdcall for function definition in the replay (avoid segmentation fault)
* Directly use gl_Position in shader instead of an extra user defined variable


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5648 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-01 09:29:57 +00:00
gregory.hainaut acaf1ac8d5 gsdx-ogl-wnd: Make the HW renderer "work" on the opensource driver
* replace most OGL_FREE_DRIVER with a dynamic detection. Remains the context creation. Closed drivers need 3.3
* Add the CopySubImage fallback


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5647 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-27 18:02:27 +00:00
gregory.hainaut 75418aba43 gsdx-ogl-wnd:
* Emulate Geometry Shader from the CPU.
* add some option to override opengl extension detection
* redo shader interface (again) to compile on the free driver

SW renderer is now working on the free driver.

To test it on your linux box use this cmake option -DEGL_API=TRUE
Note: (need opengl 3.0) I test mesa 9.2 git



git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5646 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-27 16:53:38 +00:00
gregory.hainaut aafa7a088a gsdx-ogl-wnd:
* fix a bad interaction when GL_ARB_SSO is supported without GL_ARB_shading_language_420pack
* try to replace struct with flat parameter in glsl interface
=> with some hacks of the free driver, I was able to compile SW renderer shader. Unfortunately
   the rendering is broken. Maybe my hack :p
* remove EGL context check (wasn't working as expected)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5644 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-26 13:05:03 +00:00
gregory.hainaut c9b3dcf581 gsdx-ogl-wnd:
* fix wrong interaction when both GL41 or GL42 aren't supported
* Add a new define to downgrade opengl requirement to test the free driver and EGL
 => As far as I can tell, they only miss geometry shader& GLSL150 (got GLSL140)
* Found a way to avoid crash in AMD driver. Skip the upload of small texture but rendering is wrong now...


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5643 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-25 14:28:16 +00:00
gregory.hainaut 49cd9fd97d gsdx-ogl-wnd:
* remove an old&useles dummy geometry shader (was used to workaround amd bug)
* use a basic X11 window for GSopen1
* redo the replayer: it is now based on dlopen rather than standard static/dynamic library. AMD driver doesn't play nicely with the later...


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5639 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-23 17:03:18 +00:00
gregory.hainaut 5a0367f398 gsdx-ogl-wnd: fix compilation on MSVC201x
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5638 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-20 16:29:56 +00:00
gregory.hainaut 6779edfe28 gsdx-ogl-wnd:
* replace both DISABLE_GL41_SSO and DISABLE_GL42 macro with a dynamic check based on the extension support
* glsl2h: use static instead of extern


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5636 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-19 12:42:55 +00:00
gregory.hainaut 9376b26537 gsdx-ogl-wnd:
* load extension as gl_Function instead of glFunction


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5635 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-19 09:19:20 +00:00
gregory.hainaut dce89ff1a0 gsdx-ogl-wnd: fix compilation error on linux
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5634 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-18 16:19:23 +00:00
gregory.hainaut b8e36b44af gsdx-ogl-wnd: sync from trunk (r5550 to r5632)
Note: Code need to be fixed with latest GSdx ogl additions


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5633 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-18 16:09:09 +00:00
gregory.hainaut e3d658b501 gsdx ogl: load shader from C code instead of an external file
* add a perl script to convert shader to char*
* By default use *.glsl file (handy to do some trials). 

Only drawback, glsl2h need to be manually called at the moment



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5632 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-18 09:17:30 +00:00
gregory.hainaut 6760ed552b gsdx ogl: fix previous commit
* clean shader properly
* use a 64 bits map to contain shader pointer


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5631 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-17 20:14:10 +00:00
gregory.hainaut a163677cec gsdx ogl: New config option to disable separate shader program. Not enabled by default
* workaround AMD driver bleding issue (got at least a nice rendering in GoW)
* would run on the opensource driver when they support geometry shader

Stil got some crash on the driver. Arg!!!
FGLRX user if you want to do some trials 
uncomment #define DISABLE_GL41_SSO in GSdx/config.h



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5630 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-17 18:28:51 +00:00
gregory.hainaut 15b255617a gsdx ogl: use immutable texture, it would avoid multiple validation from the driver
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5629 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-17 16:55:55 +00:00
gregory.hainaut 320d3a572e gsdx ogl: AMD fix some bugs in their driver ! (catalyst 13.4 branch). Let's remove some buggy workaround now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5627 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-08 15:51:42 +00:00
gregory.hainaut 08329122aa gsdx (ogl):
* Use bigger index for Uniform buffer to avoid any collision with sampler. 
* add a new config to disable openGL 4.2 requirement. Would be done at runtime later.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5620 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-04-19 19:16:26 +00:00
gregory.hainaut 86a2f5a8ec gcc:
* Fix a couple of GCC warning
* Fix build with gcc4.8 (issue 1392)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5618 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-04-14 10:48:50 +00:00
sudonim1@gmail.com 2fbcafc85e GSDX: Implemented CLUT temporary buffer wrapping by mirroring writes and hopefully fixed all CSA related bugs. There are fewer asserts on register values in the code now.
I'm only about 75% confident in this code.  Games might be broken.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5613 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-04-10 17:55:02 +00:00
sudonim1@gmail.com be7e1163b4 GSDX: Fixed GetTextureMinMax's vertex tracer interaction properly and added some comments.
It wasn't the suspicious code, that actually seems to be correct.  The rempty() case should now be unnecessary except in case of bad register settings, but that's outside of our control so it needs to stay until code's added for that case.  A console warning would be appropriate.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5612 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-04-10 15:57:21 +00:00
ramapcsx2.code c4d9ce2e05 GSdx: Fixed a missing clut offset which broke Disney's Golf.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5611 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-04-10 11:48:27 +00:00
sudonim1@gmail.com a0e960b77d GSDX: Disable a buggy vertex tracer optimisation in GetTextureMinMax (produces a rectangle with a negative dimension leaving it still empty after the follow block which is likely a hack itself). Fixes textures in Kingdom Hearts 2's tron stage.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5610 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-04-09 22:17:49 +00:00
gregory.hainaut fa7d10cfb1 gsdx ogl: install a GLX error handler before the context creation. Allow to print a nice message when the user doesn't support opengl 3.3
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5607 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-04-07 14:37:14 +00:00
refraction@gmail.com e2ff25963b GSDX: Applying patch for 2 small errors in GSDX provided by mathew1800.
Thanks to KrossX3 for aiding our laziness:P

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5605 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-04-04 19:39:46 +00:00
gregory.hainaut 9cc306c74f zzogl-pg:
* bump minimal requirement to  opengl 2! Basically any Dx9 class hardware. On intel you will need a gen4+ GPU.
* remove the bad quality integer texture to use only texture float. Again need an gen4+ Intel GPU. Opensource users: Mesa must be built with support of texture float (stupid patents)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5603 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-25 18:49:29 +00:00
ramapcsx2.code 51fc6dbd07 Added Visual Studio 2012 solution files for DEV9ghzdrk and avoided a macro redefinition error in WinPcap when that compiler is used.
VS2008 is harder to do as there is no automatic downgrader tools for the solution files, sorry.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5602 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-20 16:34:31 +00:00
ramapcsx2.code a6f5ac4720 DEV9ghzdrk:
Changed the stack init hack so it is consistent on plugin resets and removed a part of it that broke OPL.
Hopefully this works for all use cases, but we should fix the initial problem anyway.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5601 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-20 14:50:56 +00:00
ramapcsx2.code 447d7152b5 DEV9ghzdrk: Re-enabled the stack init hack, fixing GT4 network use.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5600 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-20 14:07:31 +00:00
ramapcsx2.code e32a18dac4 Added WinPcap to the library of 3rd party includes and made DEV9ghzdrk use them.
WinPcap version is 4.1.2 and only the /include and /lib folders of their developer pack are included.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5599 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-20 13:58:00 +00:00
ramapcsx2.code 7a00d19b55 DEV9ghzdrk: Fixed the bad slowness.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5598 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-19 23:43:16 +00:00
ramapcsx2.code 2e6917c409 DEV9ghzdrk: Either be thread safe in the whole plugin or don't try to at all.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5597 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-19 23:08:29 +00:00
ramapcsx2.code 6ac678d34f DEV9ghzdrk: These files aren't needed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5596 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-19 22:21:48 +00:00
gigaherz 90f0da8ec2 Include dev9ghzdrk into the main plugins folder, and integrate it into the build system (windows only).
Most of the work done by Rama, I just integrated the vcxproj.

Only done for vs2010, vs2008 or vs2012 will have to wait.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5595 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-19 22:01:41 +00:00
ramapcsx2.code fd7b163643 GSdx: Committing a fix for the Steambot Chronicles hack, thanks miseru99. Also: using a new alias, yay :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5580 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-02 11:51:14 +00:00
gregory.hainaut 2769fe7e32 revert previous commit r5578. Didn't work as expected on CG and didn't solve radeon driver issue neither.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5579 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-01 17:37:05 +00:00
gregory.hainaut 2157fb4907 zzogl-pg: use the red channel instead of the alpha channel for the block data. Alpha channel isn't supported (normally) in OGL3 and later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5578 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-28 18:24:27 +00:00
gregory.hainaut d3d9b520f0 gsdx ogl:
* port KrossX patch from r5556 to openGL
* add a basic gui entry, would love an additional description
* also add the pointsampler hack but don't activate it yet


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5570 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-23 15:35:56 +00:00
ramapcsx2 8f9e04dc9d GSdx, SPU2-X: Remove old code and disable a now useless warning.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5559 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-12 18:41:33 +00:00
ramapcsx2 7af51edd87 GSdx: DX9 hardware fix for the new hack.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5558 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-12 12:08:46 +00:00
ramapcsx2 fae268b269 One more patch by KrossX:
Should fix the VS2012 project files for when only VS2012 (and not VS2010) is installed.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5557 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-12 11:46:36 +00: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
ramapcsx2 45e3e6d549 GSdx: Added a crc hack for Steambot Chronicles, made by miseru99. It doesn't look perfect but at least it's rather playable now. Thanks miseru99 :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5555 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-11 17:10:22 +00:00
gregory.hainaut cf16274d6a gsdx-ogl-wnd: trunk sync: merge of r5497 through r5549
goal was to get the Nvidia glsl shader fix


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5550 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-08 17:51:44 +00:00
sudonim1@gmail.com b1536a755f GSDX: Nothing is fixed, the last two revisions did not happen.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5549 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-08 15:36:54 +00:00
sudonim1@gmail.com 23cd8fd641 GSDX: Committing pointless extra work for the record before reverting. Everything is terrible.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5548 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-08 15:35:28 +00:00
sudonim1@gmail.com 5988c70822 GSDX: Mask off high bits of calculated GS memory addresses, untested but probably what happens with real hardware. Fixes crash/memory corruption on starting Fatal Fury Battle Archives Volume 2, hopefully some other games too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5547 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-07 17:32:34 +00:00
ramapcsx2 8d80ff0652 SPU2-X: Adding a log for bad pitch settings, in preparation of changing current behavior. (Need to check some games that do it first)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5545 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-05 14:21:24 +00:00
gregory.hainaut 580f7a2e3d gsdx (ogl):
* Don't try to allocate a "null" array when shader log is empty
* glsl: hopefully implicit cast error on Nvidia driver


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5542 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-03 15:46:42 +00:00
gregory.hainaut e6cd4129c2 gsdx-ogl-wgl:
* initialize the context status variable that take care of some startup hang
* cmake: don't link and compile EGL when it isn't requested


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5528 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-18 21:56:43 +00:00
gregory.hainaut e6e18607e0 gsdx-ogl-wnd: ooups
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5521 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-17 17:14:33 +00:00
gregory.hainaut 36f8dda3fe gsdx-ogl-wnd:
* implement GSWndEGL copy/pasted from zzogl.
* remove linux debugging shader that failed to compile on window
* add additional debug message during context creation


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5520 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-17 16:58:48 +00:00
gregory.hainaut c4dfd0c7c5 gsdx-ogl-wnd: gl.h doesn't provide same functions on linux and windows...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5519 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-17 15:24:55 +00:00
gregory.hainaut 58cc2ddd1f gsdx-ogl-wnd:
* Remove bad redefinition of glActiveTexture and glBlendColor pointer
* Remove glew dependency on linux
* s/OGL_DEBUG/ENABLE_OGL_DEBUG/ and enable it on debug


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5512 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-16 18:25:53 +00:00
gregory.hainaut fb9c4e5a61 gsdx-ogl-wnd:
* add a new config define ENABLE_OGL_MT_HACK to replace the define OGL_MT_HACK


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5511 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-14 09:25:16 +00:00
gregory.hainaut b65ad2c3e5 gsdx-ogl-wnd:
* move GL loading function into its own namespace
* Use manual GL loading on linux too and mostly drop glew dependency. (Not 100% clean we are still depends on some glew define, it will be fixed later)

Note: shaders still need to be copied manually from GSdx/res to bin/plugins


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5510 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-14 09:15:39 +00:00
ramapcsx2 c09f758602 gsdx-ogl-wnd: Build fix
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5509 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-12 23:41:31 +00:00
gregory.hainaut f82421eaf7 gsdx-ogl-wnd: really create a 3.0GL context
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5508 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-11 13:54:15 +00:00
gregory.hainaut ddbad1315b gsdx-ogl-wnd: forget 1 file
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5507 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-11 13:39:07 +00:00
gregory.hainaut 266af77420 gsdx-ogl-wnd: add GL function loading (done manually). It would be interesting to do the same on linux that would allow to drop glew depency.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5506 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-10 19:11:03 +00:00
gregory.hainaut f9ddd639b8 gsdx-ogl-wnd: Try to compile OGL backend on VS
* Update project files
* basic compilation fix: include stdafx, s/uint/uint32/
* add selection of the opengl renderer/device in gsopen

Remain to fix opengl function declaration/initialization


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5505 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-10 13:13:59 +00:00
gregory.hainaut cf2910f7ed gsdx-ogl-wnd: try to update VS to include 3rdparty and link with opengl32 lib
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5504 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-09 11:28:35 +00:00
gregory.hainaut c5a6b07b30 gsdx-ogl-wnd:
* fix C compilation issue

Remain 2 issues with VCS:
1/ need to add 3rdparty dir as include dir (zzogl seem to import common\vsprops\3rdpartyDeps.props)
2/ need to add opengl32.lib as additional lib


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5503 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-04 23:02:48 +00:00
gregory.hainaut 5e4bae5f5d gsdx-ogl-wnd: * add a preliminary context and wgl management
Note: don't expect to compile/work yet


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5502 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-04 21:33:24 +00:00
gregory.hainaut d91b28ac32 gsdx-ogl-wnd: forget one file ...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5501 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-04 15:47:11 +00:00
gregory.hainaut 4fb7474e9c gsdx-ogl-wnd: multiple VS compilation fix.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5500 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-04 15:41:37 +00:00
gregory.hainaut 4d90ad17a1 gsdx-ogl-wnd: update the MS build system. Not sure I got all verions.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5499 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-04 11:47:20 +00:00
gregory.hainaut f95d9bd989 gsdx-ogl-wnd:
* split GSwnd into GSWndOGL  and GSWndDX
* replace GSwnd static object by a dynamic pointer


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5498 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-04 11:41:51 +00:00
ramapcsx2 7f45b21be1 SPU2-X:
Just adding a log to devel builds. This is a curious case we want to be notified about.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5478 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-12-13 14:44:36 +00:00
gregory.hainaut c86ca9c56e gsdx ogl: don't check dual source support on SW mode to avoid a crash on SW mode. (note HW is still crashing but better than nothing)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5464 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-27 07:50:51 +00:00
refraction 5cdad0ed20 GSNull: Change the register set definitions to structs instead of unions so it ACTUALLY writes the data to the registers, rather than just writing to 2 predefined variables then being overwritten the next time a write is done to something else :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5461 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-23 17:47:08 +00:00
sudonim1@gmail.com 2a0bbc89db SPU2-X: Actually ignore successive writes within 4 ticks to the same key-on bit, don't just say we do. I think I just forgot this return in r5418. Fixes The Legend of Spyro: The Eternal Night (probably the other two legend games too).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5460 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-21 14:32:55 +00:00
ramapcsx2 6050e9bb05 SPU2-X: Made the message "KeyOn after less than 4 T disregarded" less visible on release builds. It tended to slow games down.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5459 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-21 12:18:50 +00:00
refraction 3d247da4c2 GSNull: Stop it calling itself "Firewire" in the config etc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5458 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-21 11:18:22 +00:00
sudonim1@gmail.com 1468b21ca0 SPU2-X: Disabled the parked voice processing optimisation completely for now. Fixes Silent Hill: Shattered Memories, maybe others. Reduces speed for all games. However much you hate this change, I hate it more.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5446 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-10 18:10:34 +00:00
ramapcsx2 28e6d96955 SPU2-X: 2 known games set an illegal reverb EEA that randomly causes crashes in the plugin.
We need to figure out what real hardware does with it but for now let's disable the effect engine in that case.
Affected games: Summer Beach Volleyball and 18 Wheeler.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5445 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-07 19:39:29 +00:00
gregory.hainaut c4af005f0b gsdx ogl:
* retry compilation when driver failed to compile with a static 'index' constraint. Replace previous AMD hack.
* clean context default attribute value
zzogl 4: clean context default attribute value too.
zzogl 3: backport texture size fix


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5442 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-29 21:35:47 +00:00
gregory.hainaut a9020c6065 GSdx: only enable AMD hack for AMD GPU. Remove the older geometry shader hack fixed since 6 monthes
ZZogl: support xdg for the replayer


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5441 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-28 10:14:42 +00:00
gregory.hainaut 059346b5f2 zzogl: fixed crash at startup for Intel (and probably nvidia too). Opengl3 and 2 don't support the same set of attributes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5440 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-27 16:52:51 +00:00
gregory.hainaut 41a5578097 zzogl: Check the size of both rectangle and 2D textures. Hopefully will fix Sandybridge system. Tests are welcome.
cmake: be sure that EGL is supported


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5438 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-23 19:59:00 +00:00
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 f53a062063 license: update the copyrigh address to please linux distribution
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5436 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-19 20:27:50 +00:00
ramapcsx2 e7eb00469a Added correct clamp modes for GT4 to the game database. Fixes various issues with the GUI.
Also added a mark for Klonoa 2 problems with SPU2-X.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5434 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-15 19:39:43 +00:00
ramapcsx2 dece4c730c Add NFL '12 to the database and silence a SPU2 cache clear notice.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5430 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-09 13:07:06 +00:00
sudonim1@gmail.com 2cc794e638 SPU2-X: Add an assertion that I used (in a more stupid and long winded form) to find the effects memory corruption bug.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5427 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-03 01:45:11 +00:00
sudonim1@gmail.com 8d07fdf165 SPU2-X: Update effects engine indexers when the effects area is moved and kept the same size. Not doing so caused SPU2 memory corruption in Sphinx and the Cursed Mummy and maybe others.
Save state compatibility broken.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5426 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-02 17:43:21 +00:00
sudonim1@gmail.com 86e5f32efb SPU2-X: Another change to the shortcut processing of voices, check the actual loop flags in memory rather than the ones in the voice structure because the memory might've changed. Fixes Innocent Life - A Futuristic Harvest Moon.
Also, check both cores rather than the current core, that was a mistake.
Speed-- again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5425 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-02 17:40:42 +00:00
gregory.hainaut 1cc654e9bf zzogl: some experiences to EGL (on linux). It can be enabled with -DEGL_API=TRUE
* EGL is the interface between the window and opengl. The purpose is to replace GLX/WGL in a crossplatform way.
  Unfortunately so far only opensource driver use it (need not yet released mesa 9.0)
* clean most of the legacy GSopen1 window management. Only keep a basic window for debug with replayer.



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5422 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-23 18:52:44 +00:00
sudonim1@gmail.com 77eee6e2b9 SPU2-X: Add extra exceptions to shortcutting silenced voice processing (which is basically a speedhack and should probably have a GUI option). Unfortunately this is a significant speed hit for all games, but I have no solution to this for now. Fixes Gegege no Kitarou - Ibun Youkai Kitan and quite likely others.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5421 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-22 22:11:37 +00:00
sudonim1@gmail.com f1cffa6f7f SPU2-X: Delay starting voices for 4 SPU2 cycles after key on. No idea if this is right, but there must be a reason some register writes aren't effective for a few cycles after key on, and this seems likely. Fixes DQ5 adventure log music and Le Mans 24 Hours everything.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5418 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 15:17:16 +00:00
sudonim1@gmail.com 636ce9fc1d SPU2-X: Fix old crash on state load if logging is enabled. (It's appalling that this is in the state though.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5417 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 13:39:57 +00:00
sudonim1@gmail.com 4d9e07b311 SPU2-X: Removed the temporary "TDA" variable from the core structure. Breaks state compatibility.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5416 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 13:05:04 +00:00
sudonim1@gmail.com 7dc3b25ddf SPU2-X: Trigger interrupts only if TSA is incremented to IRQA on the basis that we know that the final TSA value after the transfer is checked. Also fix inconsistency in TSA after transfer in one case. Fixes Chaos Legion bgm.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5415 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 13:03:19 +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 81cc4d51da GSdx, linux: remove some letf-overs
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5408 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-08 16:06:44 +00:00
gregory.hainaut b1541f4ab7 onepad: reduce dialogs of another 25 pixels for small screen.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5405 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-05 20:53:03 +00:00
gigaherz 31f685c490 [VS2012] For some reason when I made the conversion I totally forgot to copy these, and I didn't notice that until yesterday.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5403 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-05 18:04:09 +00:00
sudonim1@gmail.com 4ab5b03bdc SPU2-X: Use zero coefficients when the sample data references a higher entry in the coefficients table than we know about and print a warning to the console if logging is enabled. Fixes audio glitches in "Crash" series games. Also fixed the voice stop log, it was printing when voices looped.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5402 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-03 11:43:16 +00:00
sudonim1@gmail.com 7e528d3f1f SPU2-X: cleaned up the re-enabled debugging messages from r5400.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5401 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-03 09:55:08 +00:00
ramapcsx2 2e1b138219 SPU2-X: Add the alignment check to console logging.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5400 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-02 22:20:18 +00:00
sudonim1@gmail.com d4e4abfe82 SPU2-X: TDA is a fake internal register (which should probably be nuked), so reading from the FIFO (or whatever 1AC is) certainly shouldn't use it. Also fixed up related code a little. We don't know of any games which actually use this though. Actually I don't know if we know that reading this register does anything, this could all be the product of an overactive imagination.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5399 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-02 22:07:11 +00:00
sudonim1@gmail.com 7027c54309 SPU2-X: Don't force align transfer addresses, fixes The Bouncer. I honestly don't know on what basis they were force aligned in the first place. The Bouncer very strangely has correctly aligned sample data in IOP memory which it uploads using an unaligned DMA with SPU2 set to an unaligned address, resulting in the data being correctly aligned in the end. Weird. It also writes the address twice in the order high word, low, low, high, the first pair being aligned and the second pair not. Really weird.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5398 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-02 21:33:16 +00:00
sudonim1@gmail.com b643fa06d5 SPU2-X: Fix a minor logging bug.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5397 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-01 13:10:38 +00:00
gregory.hainaut 8f4ceea43a onepad: reduce a bit (75 pixels) the heigh of the dialog for NNNNx768 displays
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5395 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-31 20:08:20 +00:00
ramapcsx2 fb851cfdfc GSdx:
Added loading of external shaders, coded by KrossX (thanks again :p ).
Right now it looks for a file called "shader.fx" in PCSX2's main directory.
If it finds one, the PageUp key activates the external shader (instead of the built-in FXAA).
We have a forum thread for some nice shaders to try out here:
http://forums.pcsx2.net/Thread-Custom-Shaders-for-GSdx

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5390 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-20 19:46:51 +00:00
gigaherz 801867ab95 [vs2012] ZeroGS/ZZogl: Also disable SAFESEH for the other targets, not just Debug.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5389 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-20 13:01:47 +00:00
gigaherz f724e6fa07 Turn off SAFESEH for ZeroGS and ZZogl.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5386 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 20:52:19 +00:00
gigaherz c696c40924 ZeroGS/vs2012: "count" is a function in the vs2012's std:: namespace, so it conflicts to use count as a variable when "using namespace std;" is in place. Renamed the two instances of that issue to "counter".
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5385 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 20:03:47 +00:00
gigaherz a21c85266c Make PCSX2 compile with Visual Studio 2012 (3/3): Upgrade the project files and fix a few project names. Update the .sln to point to the right project files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5384 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 19:54:12 +00:00
gigaherz 027b7a8b98 Make PCSX2 compile with Visual Studio 2012 (2/3): Copy project files and solution from their vs2010 originals. Not updated yet!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5383 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 19:45:56 +00:00
gigaherz 72372c2219 Make PCSX2 compile with Visual Studio 2012 (1/3): Workaround compiler differences that result in compile-time errors.
NOTE: The 'glew' project does NOT build yet, but it will have to be decided how to approach the problem (String literal too long in glew.rc)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5382 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 19:36:59 +00:00
gregory.hainaut e650a1d8a0 GSdx ogl: Fix a nasty crash because of the multithread hack.
canditate for 1.0 branch


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5381 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 13:06:40 +00:00
gregory.hainaut 226b2d63b8 gsdx: remove completely the SDL backend. Let's hope I didn't break too much VS
cmake: take the opportunity to drop the support of 3rdparty compilation. Distributions have got a more recent version of zlib/soundtouch anyway.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5376 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-15 10:22:19 +00:00
gregory.hainaut b70c5eb8b7 gsdx ogl: incorporate DX sudonim's changes on ogl
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5375 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-15 10:14:13 +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 7ff8abe376 zzogl-pg:
* properry separate both GLSL implementation
* glsl4: Use a define for logz instead of extra math computation. Much more easier to understand


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5364 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-08 17:44:03 +00:00
sudonim1@gmail.com 0d9d10bc26 GSDX: Temporary fix for another unorm precision issue.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5363 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-06 17:49:15 +00:00
sudonim1@gmail.com 10db10e6ba GSDX: reduce precision requirement for DATE, partially fixes Intel GPUs. (Not sure exactly what's going on here, I think that 0x80 as a 8 bit unorm isn't exactly the same as 128.f/255 but I don't know whether it's required to be... we can just play safe on this anyway).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5362 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-06 17:38:28 +00:00
sudonim1@gmail.com 20fbc82842 GSDX: And combo boxes are apparently weird about vertical size.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5360 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-06 05:58:02 +00:00
sudonim1@gmail.com 89bfd83621 GSDX: missed the property files, VS is awkward about saving them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5359 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-06 05:43:51 +00:00
sudonim1@gmail.com 469beeac14 GSDX: Adapter selection in the configuration dialog. Effective on D3D10/11 and probably on D3D9. D3D9 will not enumerate adapters with no connected outputs and I haven't actually tried connecting my integrated GPU to a display, but D3D11 doesn't care.
Probably only of interest to testers (and me).  Absolutely do NOT select the reference device even out of extreme morbid curiosity.  It's not even very good at being a reference despite being slower than you can probably believe.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5358 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-06 05:26:44 +00:00
sudonim1@gmail.com cd05504851 GSDX: Simplified and improved (for my purposes) the D3D11 checks a little. Necessary for something I'm working on, hopefully doesn't break GSDX for anyone (this code took a lot of revisions initially as I recall).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5357 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-06 01:56:25 +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 96c8c13ead GSDX: don't unnecessarily create and use a render target for the DATE setup stage, D3D10+ supports not having a render target set. (D3D9 doesn't, so that's untouched.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5345 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-23 22:55:06 +00:00
sudonim1@gmail.com 8a20e5af90 GSDX: Quick ugly fix (major work on this function might be done soon) for a bug with colclamp I noticed. Unknown impact, might make some effects work.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5344 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-23 20:24:09 +00:00
sudonim1@gmail.com 8a8d3c67d4 GSDX: Removed the collapsing of ge/g and le/l alpha tests in the shader code and the supporting code in the C++. This was presumably intended to reduce the number of shaders needed but a) this was never actually implemented, b) a single developer will generally not mix the functionally equivalent (with a different AREF) greater/less than with greater/less than or equal to in GS techniques, c) it really wouldn't make much of a difference to performance anyway and d) it would make an experimental change I'm working with more complicated and slower.
No change in functionality expected.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5343 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-23 16:39:56 +00:00
sudonim1@gmail.com 1f8c4ddc22 GSDx: Just slapping some consts on methods I needed to use with const references in testing.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5342 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-21 03:45:40 +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
ramapcsx2 180b57b9cf GSdx: 2 more crcs for GoW and GoW2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5336 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-07 20:46:03 +00:00
ramapcsx2 1e70895118 GSdx: Removed the CRC hack for Drakengard 2 as per issue 1303.
Thanks for reporting.
(Also replaced broken Chinese characters in comments.)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5330 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-27 16:06:25 +00:00
sudonim1@gmail.com 80ba8ff16a GSDX: Fix splinter cell double agent (and others) regression. Texture cache hits no longer depend on TEXA ever, GPU load however is increased. The last regression I think?
So, in the end I only properly understood the old code after finding all the problems with my version.  I'm not sure whether any changes I've made are improvements any more, I'll need to review it with what I've learned in mind.  This effort might've been a big waste of time.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5329 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-27 00:57:44 +00:00
shadowladyngemu 540d098794 GameDB: Status updates, games that require new gamefixes or don't anymore, etc etc...
GSdx Hackfixes: Lego Batman changed to aggressive list, doesn't really fix ingame and breaks the title screens.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5328 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-26 11:57:44 +00:00
gregory.hainaut 3af930c555 gsdx ogl: nvidia compiler is not happy with implicit cast...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5322 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-21 17:31:53 +00:00