summaryrefslogtreecommitdiff
path: root/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Add texture only visualisationiCatButler2017-03-241-2/+12
|
* Fix issue with flat shaded primitives in colour only modeiCatButler2017-03-191-4/+5
|
* Fix false positive when rendering transparent objects in wireframeiCatButler2017-03-191-1/+5
|
* Add support for new visualisationsiCatButler2017-03-174-234/+169
| | | | | | | - vertex colour - new primitive type encoding Now displays semi-transparent as coloured wireframe to allow them to be visible without corrupting the colour information.
* Fix some edge cases and imprve depth visualisation:iCatButler2016-09-013-30/+253
| | | | | | | | - Remove upper 4-bits of each vertex as they may contain bad data (THPS) - Check if memory block from DMA is as expected, some primitives are not the first data in the block and preceding data needs to be skipped (HT, A2) - Change depth visualisation to a colour gradient that makes inconsistencies easier to see - Add support for visualising low resolution but consistent depth found in the Ordering Table
* Various CPU updatesiCatButler2016-07-303-27/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Sign extend values read using LH - Add conversion functions to represent Signed/Unsigned 16-bit ranges - Add overflow and truncation functions for 16-bit ranges - Sign extend imm value in ADD(U) - Add component overflow and truncation to ADD/SUB functions - Construct new value in logic operators where result using inputs is undefined - Return a valid W component from logic operators (if either input has one) - Compare against high value (y), then low value (x) in less than operators - Use doubles and implement overflow for Multiply operations to try to increase accuracy - Use unsigned values in both MUL and DIV operations to make output as accurate as possible - Implement several variants of shift operators. Trying both arithmetically correct and more analytical approaches with varying success. Debug updates - Added ability to force all values to be equal to low precision values before operating on them - Added feature to test output of operations against a tolerance and print only those which fail GPU updates - Colour vertices with valid XY coordinates but no W as cyan to make them easier to spot - Remove cyan colouring for stale vertices (wasn't useful) - Added ability to skip debug rendering when needed (like seeing the output of offscreen rendering applied to a sprite). - Added new mode which shows primitive type
* Change "valid" flag to multiple bit flagsiCatButler2016-07-041-8/+29
| | | | Validity of a pgxp value can now be set for any of four components using individual bit flags. This also allows the potential expansion of more flag data for each component.
* Imporved CPU integrationiCatButler2016-06-271-10/+24
| | | | | | | | | | | | | | | | | - Change PGXP integration to use wrapper functions - Use modified function lookup tables to call wrappers or default funnctions based on mode - Implement wrappers for interpreter too, recompiler sometimes calls interpreter functions - Add UI elements for selecting CPU modes - Only call precision version of NCLIP in modes where there are not going to be stale vertices in GTE registers - Added support for CP0 co-processor functions - Improve support for CPU functions (still broken in many games) - Improved debug output to show values for inputs before they're modified GPU plugin - Ignore stale vertices (occurs when CPU mode no longer writes to memory) - Add Cyan vertex colouring for stale vertices
* Initial PGXP CPU commitiCatButler2016-06-071-30/+105
| | | | | | | | | | - Restructured project to base interface on PSX instructions - Support for all relevant CPU arithmetic and logic instructions - Debug output available via deferred PGXP calls - Remove most dependencies on PCSXR - Still very much a work in progress (lots of errors) - Add extra debug information to GPU plugin (w values)
* Fix screen smoothingiCatButler2016-05-311-0/+7
| | | | | - Reset w values - Set PGXP flag to ignore
* Add PGXP configuration dialogiCatButler2016-05-161-15/+23
| | | | - Allows independent toggling of PGXP, vertex caching and texture correction
* Implement vertex cachingiCatButler2016-05-151-11/+153
| | | | | | | - Try using Blade_Arma's vertex cache to find untracked vertices - Fix GTE_LOG - Add more logging spew - Update debug mode to track cached vertices
* Add PGXP visual debug modeiCatButler2016-05-105-10/+256
| | | | | | | Toggles using F11 Red = low precision Blue = high precision Yellow = Sprite
* Revert pcsxr@87829iCatButler2016-05-081-27/+6
| | | | | | | | | https://github.com/iCatButler/pcsxr/commit/a37e3f092fd84658c67ec537590dd5f4710ee174 "peopsgl/xvideo: fixed interlace/frame bit31 toggling. Now X-Men Acade… …mies are fine. Obsoletes use of odd/even hack." This fixes a hang on going to the title screen in many games.
* More fixes for persective correct buildiCatButler2016-05-061-10/+13
| | | | | | - Switch back to fixed point GTE - Only clamp w to h/2 after divide - Fix vertex function for multi-pass (was overwriting vertexon first pass)
* Ensure w is reset to 1.f to prevent stale values.iCatButler2016-05-032-1/+4
|
* Fix bugs from previousiCatButler2016-05-026-57/+88
| | | | | | | | | | | | Fix stray triangles - Switch to full floating point RTPS/RTPT - Clamp w values to near plane Fix texture corruption in 1.78, copy 2.4 Tweak - Remove matrix replacement - Add W component to vertices - Wrap glVertex3fv calls - Use counter to call glVertex4fv for PGXP vertices only
* Perspective correct texturingiCatButler2016-04-276-37/+112
| | | | | | | | | | | | | - replace calls to glOrtho with new matrix (z value becomes w) - store w value for each vertex - if any vertex does not have a w value set whole polygon to 1.0 - Reset vertex between draw calls to prevent stale w values persisting - validate PGXP values using stored copy of original (allow greater variance) - properly convert addresses before passing to plugin - rework memory to use a single pool with offsets - Implement floating point RTPS/RTPT transform, currently disabled.
* Bring up to date with PCSX-R master (97809)iCatButler2016-03-307-74/+156
|
* - Fix memory addresses as each mirrored address range is further mirrored 4 ↵iCatButler2016-03-281-1/+1
| | | | | | | times... :( - Catch 8bit reads/writes and invalidate registers and memory as needed - Prevent reading over the end of stride and count arrays when decoding primitive commands
* - Move pgxp_gpu source files into correct folder.iCatButler2016-03-263-2/+127
| | | | - Trace 16 bit reads and writes, invalidate register or memory (fixes UI glitches)
* Initial upload of PGXP.iCatButler2016-03-254-21/+35
|
* Plugins/DFInput: change the order of SDL subsystems being closed on SDL2 builds.SND\MaddTheSane_cp2015-01-271-2/+3
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@93286 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* plug-ins: Quiet some 64-bit to 32-bit warnings on 64-bit OSes, specifically ↵SND\MaddTheSane_cp2014-10-073-4/+4
| | | | | | OS X. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@91796 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* OS X: Minor changesSND\MaddTheSane_cp2014-05-227-14/+14
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@90493 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* sio1blade windows crash fix;SND\edgbla_cp2014-04-242-8/+18
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@90125 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Refactored plugin warnings.SND\ckain_cp2014-04-165-69/+69
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@90009 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* DFInput: Implement SDL2 GameController support.SND\MaddTheSane_cp2014-04-084-55/+193
| | | | | | | | This change allows the user to use SDL2’s GameController API instead of the Joystick API. The Game Controller API maps the buttons similar to an Xbox 360 controller, so some tricky mapping needed to be done. Note that it currently only supports OS X. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@89828 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* - bugfix: when controller is connected configuration dialog does not show up ↵SND\dario86_cp2014-02-221-8/+13
| | | | | | | | with SDL 2.0 on GNU/Linux (issue #11479). - legal: about dialog shows GPLv2 instead of GPLv3. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@89187 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* peopsgl/xvideo: CPUToVRAM write: wrap to beginning of same scanline when ↵SND\ckain_cp2014-01-302-8/+22
| | | | | | going past GPU FB width. Fixes Alunda CLUT being destroyed. Hopefully breaks nothing. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@88616 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Added rewind feature. Currently only supported via GTK and needs SHM. Rewind ↵SND\ckain_cp2014-01-243-2/+13
| | | | | | save state depth is configured via RewindCount config param. Recommended value is 200 or so -> uses less than 1G of memory git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@88433 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* GTK: memleak fix and no warn about incompatible parameter.SND\ckain_cp2014-01-211-1/+0
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@88392 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Xvideo: Use YUV mode from primary Xv adapter rather than RGB mode from ↵SND\ckain_cp2014-01-214-223/+278
| | | | | | non-primary adapter. Fixes Intel adapter black screen. Also Xv's sync on vblank is now cfg param and disabled by default. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@88391 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* build system fixes by Michał Górny.SND\edgbla_cp2013-12-176-9/+10
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@88128 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* peopsgl/xvideo: fixed interlace/frame bit31 toggling. Now X-Men Academies ↵SND\ckain_cp2013-11-142-11/+52
| | | | | | are fine. Obsoletes use of odd/even hack. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@87829 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Fix Toshinden Subaru with a hack for now. Seems that xa.c needs some further ↵SND\ckain_cp2013-10-021-5/+20
| | | | | | debugging. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@87349 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* .SND\edgbla_cp2013-09-051-3/+3
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@87087 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* dfcdrom: type fix;SND\edgbla_cp2013-08-311-0/+1
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@87044 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* SDL2/SDL1.2 (Linux);SND\edgbla_cp2013-08-295-21/+21
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@87020 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Use __private_extern__ on OS X's localization functions.SND\MaddTheSane_cp2013-08-267-14/+14
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86932 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* CdromId fix;SND\edgbla_cp2013-08-251-1/+1
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86908 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Some better checking for disabling haptic feedback on the dfinput plug-in.SND\MaddTheSane_cp2013-08-221-1/+6
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86850 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Fix compiling issue.SND\MaddTheSane_cp2013-08-212-34/+36
| | | | | | A few indentation changes in the Mac section of the XGL plug-in. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86809 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* make silence.SND\edgbla_cp2013-08-191-5/+5
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86749 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* GTK/dfinput: added "prevent screensaver" feature. Makes ugly call to ↵SND\ckain_cp2013-07-266-6/+61
| | | | | | xdg-screensaver script which seems to be only sopisticated way of handling multiple screensaver backends. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86254 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* GTK: added "hide mouse cursor" feature. Enable/disable via dfinput config ↵SND\ckain_cp2013-07-254-14/+33
| | | | | | dialog's option tab. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86239 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Fix some integer values being too small (according to Xcode) on 64-bit hardware.SND\MaddTheSane_cp2013-07-092-11/+11
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@85930 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Fix the CALLBACK placement in the sio1 plug-in: I messed it up when I copied ↵SND\MaddTheSane_cp2013-07-092-4/+4
| | | | | | over the localization preprocessors for OS X. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@85925 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Get rid of a warning about integer truncationSND\MaddTheSane_cp2013-07-081-1/+1
| | | | git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@85918 e17a0e51-4ae3-4d35-97c3-1a29b211df97
* Change some +stringWithCString and -initWithCString:encoding: to modern ↵SND\MaddTheSane_cp2013-07-051-1/+1
| | | | | | | | | | Objective-C syntax. Change the encoding of a couple of info.plists to UTF-8, otherwise Xcode was complaining. Removing some extra line breaks on OS X code. Other minor changes. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@85867 e17a0e51-4ae3-4d35-97c3-1a29b211df97