summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/video
Commit message (Collapse)AuthorAgeFilesLines
* emu/rgbvmx.h: Fixed some corner cases (fixes GitHub #11051). Vas Crabb2023-04-012-44/+60
| | | | Also changed a pile of comments.
* emu/rgbgen.h: Made out-of-range shift deterministic. (#10987) invertego2023-03-131-41/+27
| | | | | Matches the SSE and VMX implementation. Fixes obvious rendering artefacts with the N64 RDP on AArch64 targets.
* Corrected a few common typos in various source files. (#9963) 0kmg2022-06-251-1/+1
|
* video/voodoo.cpp: Major rewrite: (#8267) Aaron Giles2021-07-093-36/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* video/resnet.cpp: Code cleanup AJR2021-02-031-61/+47
|
* -Switch to building MAME as C++17. Vas Crabb2020-11-151-2/+2
| | | | | | | * Updated sol2 to 3.2.2 * Updated pugixml to 1.10 * Increased minimum clang version to 6 * Cleaned up some stuff that can use new features
* emu/video: check macros are defined before doing comparisons, also fix a ↵ Vas Crabb2020-08-213-6/+5
| | | | typo in docs
* Clean up the preprocessor glue for selecting RGB utility implementation a little Vas Crabb2020-08-213-4/+11
|
* emu: correct some file headers (nw) hap2020-06-195-5/+5
|
* srcclean (nw) Vas Crabb2019-09-221-6/+6
|
* emu/video/generic.cpp : Add 2x2 grouped case of 16x16 gfx layouts (#5625) cam9002019-09-132-0/+67
| | | | | | | | | | | | * emu/video/generic.cpp : Add grouped case of 16x16 gfx layouts these are made of 4 8x8 tiles, currently 4bpp packed and 8bpp raw layout is exists. More usage of generic gfx layouts, Fix spacing * generic.cpp : Remove unused * emu/video/generic.cpp : Fix naming, Add notes * megasys1.cpp : Fix this
* emu/video/generic.cpp : Add packed, raw case of generic gfx layouts, example ↵ cam9002019-06-052-0/+56
| | | | usages
* (nw) Clean up the mess on master Vas Crabb2019-03-261-16/+7
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-251-7/+16
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* get rid of some copy/pasted macros for different numbers of arguments (nw) Vas Crabb2019-02-091-16/+7
|
* Start cleaning up palette configuration: Vas Crabb2018-12-291-4/+20
| | | | | | | | | | * Basically, initialisers go in the constructor arguments, and things for setting format go in set_format. * Initialisation patterns can be specified with an enum discriminator or with a FUNC and optionally a tag. * Formats can be specified with an enum discriminator or a size and function pointer. * You must always supply the number of entries when setting the format. * When initislising with a paletter initialisation member, you can specify the entries and indirecte entries together. * The palette_device now has a standard constructor, so use .set_entries if you are specifying entry count with no format/initialisation. * Also killed an overload on delegates that wasn't being useful.
* Put #include emu.h as the first preprocessor directive in various files to ↵ yz70s2018-11-023-3/+7
| | | | support precompiled headers in visual studio (nw)
* rgbsse: Fix scaling functions for negative values. Fixes graphical ↵ Ted Green2018-03-111-11/+13
| | | | anomalies in warfa.
* untangle ladybug and redclash state classes Vas Crabb2018-02-241-8/+8
|
* srcclean (nw) Vas Crabb2017-10-221-3/+3
|
* voodoo: Few more SSE optimizations. (nw) Ted Green2017-10-153-0/+23
|
* voodoo: Incorporate some more sse optimizations. (nw) Ted Green2017-10-123-0/+19
|
* rgbsse: Clamp intermediate values to u8. (nw) Ted Green2017-10-101-1/+4
|
* rgbsse: Optimize some sse routines. (nw) (#2700) tedgreen992017-10-095-55/+79
| | | | | | * rgbsse: Optimize some sse routines. (nw) * rgbsse: Create a generic getter instead of having individual color operation. (nw) * rgbsse: Allow up to 12 bits for scaling factors. (nw)
* rgbsse: Rather simple performance optimization. (nw) Ted Green2017-09-291-2/+2
|
* rgbsse: Declare scale_imm_and_clamp as inline to ensure that it compiles as ↵ Ted Green2017-09-232-8/+7
| | | | fully inlined in voodoo rasterizers. (nw)
* general cleanup: Vas Crabb2017-05-231-0/+2
| | | | | | | | | | | * move rarely-used output and pty interfaces out of emu.h * consolidate and de-duplicate forward declarations, also remove some obsolete ones * clean up more #include guard macros * scope down a few more things (nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h - this will make it far easier to keep them in sync with declarations than having them scattered through all the other files.
* A round of spelling/typographical fixes to source comments (nw) Scott Stone2016-11-241-1/+1
|
* Introduce u8/u16/u32/u64/s8/s16/s32/s64 Vas Crabb2016-11-199-263/+263
| | | | | | | | | | | | * New abbreviated types are in osd and util namespaces, and also in global namespace for things that #include "emu.h" * Get rid of import of cstdint types to global namespace (C99 does this anyway) * Remove the cstdint types from everything in emu * Get rid of U64/S64 macros * Fix a bug in dps16 caused by incorrect use of macro * Fix debugcon not checking for "do " prefix case-insensitively * Fix a lot of messed up tabulation * More constexpr * Fix up many __names
* Revert "Added IS_ENABLED, so we have compiler check for non used part, it is ↵ Miodrag Milanovic2016-11-121-2/+2
| | | | | | checked but not compiled in (nw)" This reverts commit c0407f073bf7afe26407c4add5cfeaf7104913c9.
* Added IS_ENABLED, so we have compiler check for non used part, it is checked ↵ Miodrag Milanovic2016-11-111-2/+2
| | | | | | but not compiled in (nw) false and true now used instead of integer where used as bool
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-228-252/+252
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-3/+3
| | | | to inline functions (nw)
* check a bunch more RGB operations in validity (nw) Vas Crabb2016-07-153-177/+58
| | | | | | implement the missing ones in rgbgen format similar one-liners in a more tabular way use default copy construct/assign
* Introduce validity checks for RGB utilities and fix bugs uncovered [Vas Crabb] Vas Crabb2016-07-145-301/+245
| | | | | | | | | | | | * Added several missing functions to rgbgen * Fixed logical shift right in rgbgen * Fixed sra that should be sra_imm in rdptpipe * Added some simple SSE4.1 optimisations in rgbsse * Re-organised rgbsse, rgbvmx and rgbgen to be in more logical order * Fixed return on some modifying operators * Made some more reference parameters const * Removed inline qualifier from a number of methods as it's implied when body is present at declaration * Mark some constructors explicit
* rgbvmx: fix the last little endian issue Vas Crabb2016-07-121-0/+5
|
* rgbvmx: fix bilinear_filter and blend on ppc64le Vas Crabb2016-07-122-4/+36
|
* more const, start fixing ppc64le Vas Crabb2016-07-124-10/+123
|
* more PPC fix (nw) Vas Crabb2016-07-111-4/+4
|
* rgbvmx: use function-style casts, add explicit casts to keep newer GCC happy Vas Crabb2016-07-111-79/+83
|
* Fix stupid syntax error Vas Crabb2016-05-161-1/+1
|
* Hopefully fix PPC targets Vas Crabb2016-05-141-2/+2
|
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-2/+2
|
* move vector to video devices (nw) Miodrag Milanovic2016-04-232-448/+0
|
* Make core vector-related slider handling slightly less egregious, nw therealmogminer@gmail.com2016-04-122-64/+36
|
* Fixed direction of vector extension ImJezze2016-03-241-15/+11
|
* Improved junction points of vector lines ImJezze2016-03-231-7/+24
| | | | - and fixed size of vector points
* reverting: Miodrag Milanovic2016-01-202-4/+4
| | | | | | | SHA-1: 1f90ceab075c4869298e963bf0a14a0aac2f1caa * tags are now strings (nw) fix start project for custom builds in Visual Studio (nw)
* Revert "rest of device parameters to std::string (nw)" Miodrag Milanovic2016-01-202-2/+2
| | | | This reverts commit caba131d844ade3f2b30d6be24ea6cf46b2949d7.
* rest of device parameters to std::string (nw) Miodrag Milanovic2016-01-162-2/+2
|