Commit Graph

6942 Commits

Author SHA1 Message Date
Gregory Hainaut 3784ea768f gsdx: check null pointer when doing a texture clear 2015-08-04 19:26:17 +02:00
gabest11 42f51591df gsdx: lupin 3 fix, texture addressing outside the limits, only for sw and opencl yet 2015-08-04 13:27:08 +02:00
gabest11 d631030608 gsdx: fixed some of the renames where it made no sense, also added a commend about lupin 3rd. 2015-08-04 03:36:42 +02:00
Gregory Hainaut 762930516a Merge branch 'JasonBrownDeveloper-master' 2015-08-03 19:37:12 +02:00
Maxxus c0f85de17f onepad: Minimum code needed to get Dualshock 3 working on recent linux and evdev releases.
Commit message edited by Gregory.
Comment below from Jonathan Li

On my system, /dev/input/event13 (evdev interface) and /dev/input/js0 (joystick interface) correspond to the DS3 on my system. User/group ownership are both root.

With /dev/input/event13 at 0640 and /dev/input/js0 at 0644 - SDL2 detects no pad, SDL1 detects a 19 button, 27 axis pad

With /dev/input/event13 at 0666 and /dev/input/js0 at 0644 - Both SDL1 and SDL2 report a 19 button, 4 axis pad.

SDL2 only uses the evdev interface, SDL1 uses the evdev interface but if that fails, it uses the joystick interface.
2015-08-03 19:34:08 +02:00
gabest11 e010004f1f gsdx: _isnan was not reliable, rewrote it as GSVector4::replace_nan, it uses cmpps and the result as the mask to blend the original value and FLT_MAX. No jumps or function calls. 2015-08-03 14:35:47 +02:00
gabest11 85117ecbdd gsdx: simplified isnan test, it compiles to an inline sse instruction and a flag test, silent hill dump still looks fine. 2015-08-03 11:27:14 +02:00
Gregory Hainaut 6e1cd077a9 gsdx-debug: push ubo in a group 2015-08-03 08:46:25 +02:00
Gregory Hainaut e972f4f4dd gsdx-ogl: extend device to support an offset for normal draw 2015-08-02 21:30:19 +02:00
Gregory Hainaut cabd7409e5 gsdx-ogl: don't validate the pipeline
Too noisy in debugger trace. Never catch any errors anyway.
2015-08-02 21:30:19 +02:00
Gregory Hainaut 59cdf77784 gsdx-ogl: create a new function to set the blending state 2015-08-02 21:30:19 +02:00
Gregory Hainaut 1da611fb75 gsdx-ogl: clean PS selector 2015-08-02 21:30:19 +02:00
gabest11 542dd33169 Merge branch 'master' of https://github.com/pcsx2/pcsx2 2015-08-02 20:27:33 +02:00
gabest11 a1a842b07f gsdx: date/datm fix for 16-bit frame buffer in sw rendering mode 2015-08-02 20:21:49 +02:00
Gregory Hainaut 8424c18e9f Merge pull request #688 from PCSX2/hdr-colclip
Hdr colclip
2015-08-02 18:13:28 +02:00
Gregory Hainaut 1f402b1b56 gsdx-ogl: fix bad detection of overlapping
avoid rendering corruption with SW blending
2015-08-01 13:29:25 +02:00
Gregory Hainaut ec007ac8d0 gsdx-ogl: support accurate blending without geometry shader
For the Mesa driver
2015-08-01 13:26:15 +02:00
Gregory Hainaut 4a3c145c72 gsdx-ogl: depth support: better support of 16 bits z buffer
Fix issue in socom2
2015-08-01 01:28:41 +02:00
Gregory Hainaut eb0fa8c7dc gsdx-ogl: fix bad detection of overlapping
avoid rendering corruption with SW blending
2015-08-01 01:27:22 +02:00
Gregory Hainaut 8452d2ccfe gsdx-ogl: fbmask regression! don't use bit operation with integer 2015-07-31 21:10:58 +02:00
Gregory Hainaut fff59f547d gsdx-ogl: fbmask regression! don't use bit operation with integer 2015-07-31 19:43:06 +02:00
refractionpcsx2 0c86dd5763 Merge pull request #687 from AdmiralCurtiss/memcard-type-detection-fix
Auto-detect memory card types instead of trusting the config ini.
2015-07-31 09:56:31 +01:00
Gregory Hainaut a0edcb58af gsdx-ogl: extend cclip blending level with destination alpha blending
The purpose is to emulate correctly destination alpha factor

An alpha channel of 128 is 1.0 in the GS but only ~0.5 in the GPU

I think few draw call use destination alpha so impact on perf must remains small.
2015-07-31 09:45:28 +02:00
Gregory Hainaut 97b38d9e1b gsdx-ogl: directly set impossible mode in the blending table
Avoid to hack it in the creation

Allow in the future to reuse the table directly instead of converting
in a blend object
2015-07-31 09:45:28 +02:00
Gregory Hainaut 8554f32086 gsdx-ogl: clean the blend table
Remove old shader define
Prefix macro with BLEND_
Add some notes to explain the special symbol
2015-07-31 09:45:28 +02:00
Gregory Hainaut cfd0fd6cc8 gsdx-ogl: remove old colclip algo 2015-07-31 09:45:28 +02:00
Gregory Hainaut 93c47feb7c gsdx-ogl: replace old colclip algo with the HDR algo
Similar speed but more accurate

Allow to clean the code
2015-07-31 09:45:28 +02:00
Gregory Hainaut 83f874db93 gsdx-ogl: remove bsel.ps
Just clear bsel.abe to disable blending
2015-07-31 09:45:28 +02:00
Gregory Hainaut 25298c70f7 gsdx-ogl: move blending management into a separate function 2015-07-31 09:45:28 +02:00
Gregory Hainaut 25bd5f5e85 gsdx-ogl: request texture barrier to emulate accurate date
Actually it can partially be done with GL_ARB_shader_image_load_store
extension. However all drivers that support shader_image have
texture barrier too.
2015-07-31 09:45:28 +02:00
Gregory Hainaut 2901e94ebc gsdx-ogl: always bind the RT as input texture
To avoid code duplication
2015-07-31 09:45:28 +02:00
Gregory Hainaut 1fe3e04ce3 gsdx-ogl: don't alias m_env/m_context variable
It is cumbersome to move code
2015-07-31 09:45:28 +02:00
Gregory Hainaut 8f27a5a92b gsdx-ogl: only enable fast accurate colclip in level3
Until we drop the old method
2015-07-31 09:45:05 +02:00
refractionpcsx2 a346ce7640 Vif: Assume weird numbers with interrupts in NOPs are okay in when transferring the DMA tag. Stops Tarzan hanging without killing Onimuisha Blade Warriors 2015-07-31 01:09:11 +01:00
Admiral H. Curtiss 1f6a1241f4 Remove memory card type from config ini.
No longer necessary with the auto-detect.
2015-07-31 01:12:46 +02:00
Admiral H. Curtiss 9efb8a341d MemoryCard: Auto-detect memory card type.
Should fix the issue discussed here:
http://forums.pcsx2.net/Thread-Memory-cards-not-showing
2015-07-31 01:06:31 +02:00
refractionpcsx2 71180504e9 GameDB: Add XGKick hack to gamedb for World Rally Championship 3 2015-07-30 19:42:09 +01:00
refractionpcsx2 def2d3f19b GameDB: Added more gamefix patches by Prafull 2015-07-30 19:40:06 +01:00
Gregory Hainaut 83dfc6b633 gsdx-ogl: clean a bit selector code
Use countof macro (avoid to duplicate the size)
Fix the size of array
Remove useless alpha_stencil case
2015-07-30 18:36:05 +02:00
Gregory Hainaut e026f1bac6 gsdx-ogl: implement a fast accurate colclip algo
The idea is to use a floating texture to accumulate the data and
then do a final postprocessing pass to apply the modulo

v2:
* use bounding box to
* fix vertex corruption issue
* use negative number in shader which allow to use half float (+12
  fps@4x)
2015-07-30 18:34:52 +02:00
Gregory Hainaut aa8f5848d1 gsdx-ogl: always issue a barrier when requested
Safer this way
2015-07-30 18:24:36 +02:00
refractionpcsx2 28fbae4791 gsdx-gui: Tidy up GUI options 2015-07-30 18:24:32 +02:00
Gregory Hainaut 88bd0996f5 gsdx-ogl: only print same tex/rt message when prims overlaps
Avoid most of the false positive
2015-07-30 18:24:32 +02:00
Akash 350e373e3f gsdx-gui: Remove Aggressive CRC hack.
The option is pretty much useless, CRC hack level controls the usage of hacks already.
2015-07-30 18:24:28 +02:00
Akash 68833e10d1 gsdx-gui: Accurate blending unit for Windows.
The following patch merges all the Accurate options related to the blending unit into a single one.
2015-07-30 18:24:19 +02:00
Gregory Hainaut d191ae4aba glsl: use rounding in convert 4 shader
It will avoid texture rouding error with negative number
2015-07-30 18:22:59 +02:00
Gregory Hainaut 7b9fa8fbe5 gsdx-ogl: add an assertion that will save me 2015-07-30 18:22:59 +02:00
Gregory Hainaut 46a1525668 gsdx-ogl: support various texture format creation
Such as GL_RGBA32F/GL_RGBA16F/GL_RGBA16UI/GL_RGBA16I/GL_RGBA16

Not yet used
2015-07-30 18:22:59 +02:00
Gregory Hainaut ee9edb0b19 gsdx-ogl: create a copy rect with conversion function
Previous CopyRect function does a memcopy without conversion.

This function will allow to use different format for input/output. Just a
possibility for the future
2015-07-30 18:22:59 +02:00
Gregory Hainaut ae8df002af gsdx-ogl: optimize Cs * As + Cd and Cs * Af + Cd blending
Basically the code does the alpha multiplication in the shader therefore
the blend unit only does a pure addition. This way the multiplication is
accurate and accurate_blending doesn't requires a costly barrier.

This code also avoid variable duplication to make the code more separated.
Hopefully blending can be done in a separated function

It is preliminary work to support fast color clipping with HDR

v2: fix assertion compilation failure

v3: fix regression in not accurate mode

v3: Cs * As/Af is not an accumulation

Those cases don't need the Cd addition and were already optimized anyway

Fix a regression on GoW2
2015-07-30 18:22:59 +02:00