Previous | 199869 Revisions | Next |
r176404 Friday 9th July, 2021 at 01:35:00 UTC by Aaron Giles |
---|
video/voodoo.cpp: Major rewrite: (#8267) * Changed to use modern poly.h instead of polylgcy.h. * Moved helper classes into separate voodoo namespace. * Derived device classes from video_device_interface. * Split classes so that later versions derive from earlier versions. * Created device maps to be directly included. * Redesigned register mapping to use helper classes and delegates. * Rewrote rasterizers to use C++ templates instead of macros. * Added logic to compute equations for color/texture combine units. * Added special generic identity-texel rasterizer cases. * Removed pipeline stalls on texture and palette changes. * Removed pipeline stalls on most all parameter changes. * Generally re-thought and cleaned up logic throughout. * Parameterized cycle stealing on status reads; updated all existing voodoo consumers to configure it as it was before. -vidoe/poly.h: Various improvements: * Exposed poly_array class for broader use. * Changed poly_array to intelligently determine maximum size. * Added logic to track multiple "last" instances in poly_array. * Extended logic to support up to 16m work items. * Removed MaxPolys parameter from poly_manager template. * Added Flags parameter to poly_manager template. * Added POLY_FLAG_NO_CLIPPING flag to remove clipping code when not needed. * poly_manager now supports a MaxParams value of 0. * Made paramcount a template parameter for render_* functions. * Added reset_after_wait() method to be overridden by derived classes. * Switched to using std:: helpers instead of internal methods. * Removed useless dependency on screen_device. * TRACK_POLY_WAITS now produces more complete statistics. -video/polylgcy.cpp: Removed legacy implementation of polygon renderer. -machine/gt64xxx.cpp: Prevent lockups by disallowing 0-duration timers. -machine/pci.cpp: Added support for adding subdevice maps directly. -emu/video/rgbsse.h: Improved min/max for SSE4.1+ and scale+clamp operations for all. -emu/vidoe/rgbutil.h: Made palette expansion constexpr and added argbexpand function. -osd/osdcore.cpp: Changed osd_ticks to use QueryPerformanceCounter on Windows since the mingw std::chrono::high_resolution_clock is anything but. |
[/branches/pc98_state/scripts/src] | video.lua |
[/branches/pc98_state/src/devices/machine] | gt64xxx.cpp k033906.cpp k033906.h pci.h |
[/branches/pc98_state/src/devices/video] | poly.h |
[/branches/pc98_state/src/emu/video] | rgbsse.cpp rgbsse.h rgbutil.h |
[/branches/pc98_state/src/lib/util] | palette.h |
[/branches/pc98_state/src/mame/drivers] | atarisy4.cpp cobra.cpp funkball.cpp gticlub.cpp hornet.cpp iteagle.cpp magictg.cpp namcos23.cpp nwk-tr.cpp rollext.cpp savquest.cpp seattle.cpp taitopjc.cpp taitotz.cpp vegas.cpp viper.cpp |
[/branches/pc98_state/src/mame/includes] | gaelco3d.h galastrm.h hng64.h midvunit.h midzeus.h model2.h model3.h namcos22.h xbox_nv2a.h |
[/branches/pc98_state/src/mame/machine] | konppc.cpp konppc.h n64.cpp xbox.cpp |
[/branches/pc98_state/src/mame/video] | gaelco3d.cpp galastrm.cpp hng64_3d.hxx k001005.cpp k001005.h midvunit.cpp midzeus.cpp model2.cpp model3.cpp n64.cpp n64.h namcos22.cpp tc0780fpa.cpp tc0780fpa.h xbox_nv2a.cpp |
[/branches/pc98_state/src/osd] | osdcore.cpp |
https://github.com/mamedev/mame/commit/6ffc98289c9466cb01941c05a5b3088ac022a0b6 |
Previous | 199869 Revisions | Next |