Commit Graph

393 Commits

Author SHA1 Message Date
Xavier Del Campo Romero 66d4b1aff7 OpenGL_GL_PREFERENCE set to LEGACY 2020-06-04 23:15:04 +02:00
Xavi Del Campo aecaf18a95 Added dynstr, fixed NULL pointer access 2020-05-02 02:34:49 +02:00
iCatButler 5a6d59e9a1
Merge pull request #10 from loathingKernel/master
Add Line Hack Mode selection box for Linux UI
2019-03-06 11:36:11 +00:00
iCatButler 58f5d827c1 Merge branch 'master' of https://github.com/iCatButler/pcsxr.git 2019-03-02 09:56:35 +00:00
iCatButler d7a90b4334 Add support for GL Extensions to Windows GPU plugin 2019-03-02 09:54:07 +00:00
Stelios Tsampas 9132085444 Add Line Hack Mode selection box for Linux UI 2018-12-24 19:11:06 +02:00
iCatButler 7ce3857e14
Merge pull request #9 from jlHertel/master
Fix various GCC warnings on peopsxgl plugin
2018-12-18 20:50:02 +00:00
iCatButler cd685f7b75 Port various fixes from Beetle renderers
- Use PGXP w values to detect 3D geometry when modifying tex coords for flipped sprites
- Replace line rendering algorithm with find/force line hack implementations
- Add UI drop box to access this (no longer dependent on tex coord control)
2018-12-16 15:24:01 +00:00
Jean Hertel 11dc4ba72b
Fix various GCC warnings on peopsxgl plugin 2018-08-16 11:31:33 -03:00
Stelios Tsampas e11f002bf9 * Fix file and folder permissions 2018-03-19 11:47:21 +02:00
Stelios Tsampas 692119c547 * CMake messages 2018-03-19 11:47:21 +02:00
Stelios Tsampas 128d6afb17 * Remove autotools build system. 2018-01-12 21:52:44 +02:00
Stelios Tsampas b7e47230b4 * Add gnu99 compiler directive, make build compatible with earlier automake versions 2018-01-11 15:36:48 +02:00
Stelios Tsampas a93c5c5420 * Fix CMake to include PGXP sources. Import updated translations.
Includes some small fixes on CMake, such as prettier status messages,
    host and target arch detection (taken from PCSX2), and various other
    small errors.
2017-07-31 17:09:40 +03:00
Stelios Tsampas 3912ad309e * Import CMake build system from codeplex 2017-07-31 16:15:15 +03:00
Stelios Tsampas 01f4990887 * Sync with codeplex branch (libpcsxcore, linux gui)
This commit reflects mostly changes that happened in upstream since the last sync.
    Commit messages in upstream are lacking information. Most important changes are
    commented below, the rest of them are either formating or just trivial stuff.

    Memory viewer, invalidate dynarec
        gui/DebugMemory.c
        libpcsxcore/cdrom.c
        libpcsxcore/gpu.c
        libpcsxcore/misc.c
        libpcsxcore/psxdma.c

    Load binary files and psx executables
        libpcsxcore/misc.c
        libpcsxcore/misc.h
        libpcsxcore/plugin.c
        libpcsxcore/plugin.h

    Support for psxida
        libpcsxcore/debug.c
        libpcsxcore/r3000a.c
        plugins/bladesio1/connection.c

    disable loading save states with digits
        gui/Plugin.c

    Fix psxDIV in interpreter
        libpcsxcore/psxinterpreter.c
2017-07-31 12:48:37 +03:00
Stelios Tsampas b117a70fd0 * Plugin.c: Add PGXP visual debug binding (F11)
* GtkGui.c: Fix path saving in file selection dialog
* LnxMain.c: Don't look for bios in data directory
2017-07-28 13:13:09 +03:00
Stelios Tsampas db51fade6d * dfinput: Fix possible buffer overflows in the ui. 2017-07-20 13:04:40 +03:00
Stelios Tsampas b6129143f7 * Add setting to disable physical gamepad vibration. 2017-07-19 10:38:24 +03:00
Stelios Tsampas f48b5b2ac3 * Add configuration UI for PGXP.
* Clean generated files with `make clean`
2017-07-17 23:22:35 +03:00
Stelios Tsampas 7a43668f9d * Add nullsio1 plugin from upstream 2017-07-17 18:08:59 +03:00
Stelios Tsampas a96eefdf0f * Bring pluing Linux(gtk) interfaces up to date. 2017-07-17 17:32:35 +03:00
Stelios Tsampas d880179b2a Fix compilation on linux. 2017-07-16 21:20:53 +03:00
iCatButler 5dbb8dd786 Add texture only visualisation 2017-03-24 12:10:18 +00:00
iCatButler b9ba001e06 Fix issue with flat shaded primitives in colour only mode 2017-03-19 18:23:10 +00:00
iCatButler 685e040268 Fix false positive when rendering transparent objects in wireframe 2017-03-19 16:39:48 +00:00
iCatButler 53a4511c71 Add support for new visualisations
- vertex colour
- new primitive type encoding

Now displays semi-transparent as coloured wireframe to allow them to be visible without corrupting the colour information.
2017-03-17 21:35:45 +00:00
iCatButler b9ca947ae0 Fix some edge cases and imprve depth visualisation:
- 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
2016-09-01 09:00:00 +01:00
iCatButler 69f33a4782 Various CPU updates
- 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
2016-07-30 17:43:12 +01:00
iCatButler 97105b26f2 Change "valid" flag to multiple bit flags
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.
2016-07-04 11:48:00 +01:00
iCatButler 42176205ce Imporved CPU integration
- 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
2016-06-27 15:28:33 +01:00
iCatButler f70082329d Initial PGXP CPU commit
- 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)
2016-06-07 15:57:46 +01:00
iCatButler b51d96c96d Fix screen smoothing
- Reset w values
- Set PGXP flag to ignore
2016-05-31 15:38:18 +01:00
iCatButler a64d62be4b Add PGXP configuration dialog
- Allows independent toggling of PGXP, vertex caching and texture correction
2016-05-16 16:17:19 +01:00
iCatButler 2a24b74c12 Implement vertex caching
- 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
2016-05-15 16:26:39 +01:00
iCatButler b5a7387481 Add PGXP visual debug mode
Toggles using F11
Red = low precision
Blue = high precision
Yellow = Sprite
2016-05-10 21:34:27 +01:00
iCatButler cd126bcb7c Revert pcsxr@87829
a37e3f092f
 "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.
2016-05-08 13:29:54 +01:00
iCatButler ca61b53f6c More fixes for persective correct build
- 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)
2016-05-06 17:12:31 +01:00
iCatButler 4b706847d4 Ensure w is reset to 1.f to prevent stale values. 2016-05-03 17:02:53 +01:00
iCatButler 216c2ff3ae Fix bugs from previous
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
2016-05-02 15:01:27 +01:00
iCatButler 153c8eb499 Perspective correct texturing
- 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.
2016-04-27 12:18:13 +01:00
iCatButler 8b4350fee7 Bring up to date with PCSX-R master (97809) 2016-03-30 15:07:35 +01:00
iCatButler e3df273095 - Fix memory addresses as each mirrored address range is further mirrored 4 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
2016-03-28 13:01:50 +01:00
iCatButler b1f5a6ce4d - Move pgxp_gpu source files into correct folder.
- Trace 16 bit reads and writes, invalidate register or memory (fixes UI glitches)
2016-03-26 10:07:46 +00:00
iCatButler 7767ea4acb Initial upload of PGXP. 2016-03-25 16:25:15 +00:00
SND\MaddTheSane_cp 1b1d4c3f6a Plugins/DFInput: change the order of SDL subsystems being closed on SDL2 builds.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@93286 e17a0e51-4ae3-4d35-97c3-1a29b211df97
2015-01-27 18:55:41 +00:00
SND\MaddTheSane_cp c73ee1b920 plug-ins: Quiet some 64-bit to 32-bit warnings on 64-bit OSes, specifically OS X.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@91796 e17a0e51-4ae3-4d35-97c3-1a29b211df97
2014-10-07 16:44:42 +00:00
SND\MaddTheSane_cp bc9abb12a5 OS X: Minor changes
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@90493 e17a0e51-4ae3-4d35-97c3-1a29b211df97
2014-05-22 04:24:14 +00:00
SND\edgbla_cp dacb3c05e1 sio1blade windows crash fix;
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@90125 e17a0e51-4ae3-4d35-97c3-1a29b211df97
2014-04-24 16:51:45 +00:00
SND\ckain_cp 158718f939 Refactored plugin warnings.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@90009 e17a0e51-4ae3-4d35-97c3-1a29b211df97
2014-04-16 18:06:32 +00:00