summaryrefslogtreecommitdiff
path: root/plugins/peopsxgl/pgxp_gpu.c
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* 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-101-10/+174
| | | | | | | Toggles using F11 Red = low precision Blue = high precision Yellow = Sprite
* 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-031-0/+2
|
* Fix bugs from previousiCatButler2016-05-021-4/+31
| | | | | | | | | | | | 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-271-9/+65
| | | | | | | | | | | | | - 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.
* - 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-261-0/+90
- Trace 16 bit reads and writes, invalidate register or memory (fixes UI glitches)