Commit Graph

55469 Commits

Author SHA1 Message Date
nickysn
fc61a2e62e * moved the initial GC port output to the beginning of GetPixel16
git-svn-id: trunk@40990 -
2019-01-22 14:32:01 +00:00
nickysn
98bbc0ab14 * swapped di and ax in the beginning of GetPixel16
git-svn-id: trunk@40989 -
2019-01-22 14:30:18 +00:00
nickysn
f1ad989ba1 * moved the ES register initialization in GetPixel16 to the beginning of the function
git-svn-id: trunk@40988 -
2019-01-22 14:28:46 +00:00
nickysn
6753237fe4 * replaced the slow mul instruction in GetPixel16 with faster shifts and adds
git-svn-id: trunk@40987 -
2019-01-22 14:27:48 +00:00
nickysn
985ec0688a * some more optimizations in GetPixel16
git-svn-id: trunk@40986 -
2019-01-22 12:58:02 +00:00
nickysn
0c440183c6 + enabled the true color support in ptcgraph
git-svn-id: trunk@40985 -
2019-01-22 09:07:37 +00:00
nickysn
d653193c36 * some optimizations in GetPixel16
git-svn-id: trunk@40984 -
2019-01-22 01:29:02 +00:00
nickysn
3b2fc5d34b * save another 2 bytes from the InitModeX code :)
git-svn-id: trunk@40983 -
2019-01-21 23:09:58 +00:00
nickysn
81aea037ec * reenabled the asm version of InitModeX
git-svn-id: trunk@40982 -
2019-01-21 23:07:51 +00:00
nickysn
596c1e7efa * huge memory model fixes in InitModeX
git-svn-id: trunk@40981 -
2019-01-21 22:54:08 +00:00
nickysn
37c05b3749 + added pascal version of InitModeX
git-svn-id: trunk@40980 -
2019-01-21 22:50:50 +00:00
florian
4fb7b5d3ff * fix MovOpMov2MovOp optimization if no -Cpcoreavx2 is used
git-svn-id: trunk@40979 -
2019-01-21 21:57:07 +00:00
nickysn
f6aa6e5b58 * another byte saved in the InitModeX routine :)
git-svn-id: trunk@40978 -
2019-01-21 18:06:07 +00:00
nickysn
5655b04b1c * use 'cmp mem,const' to check DontClearGraphMemory, instead of first loading it
into a register in InitModeX. This saves 1 byte of code from an initialization
  routine. Hurrah! :)

git-svn-id: trunk@40977 -
2019-01-21 17:43:57 +00:00
nickysn
5738ba19bb * converted InitModeX to a pure asm routine
git-svn-id: trunk@40976 -
2019-01-21 16:47:30 +00:00
nickysn
c26df36bc5 * size of the DrawnList buffer moved to a local variable, to avoid repeated code and repeated calculations
git-svn-id: trunk@40975 -
2019-01-21 16:24:46 +00:00
nickysn
6bb104a16d * unified the out of memory check in FloodFill and perform proper cleanup, so no memory leaks arise
git-svn-id: trunk@40974 -
2019-01-21 16:22:11 +00:00
nickysn
b654c34d64 * read the planes in reverse order, so that less shift instructions are required in GetPixel16
git-svn-id: trunk@40973 -
2019-01-21 16:09:13 +00:00
nickysn
33c330b3bc * store the size of the s1,s2 and s3 buffers, used inside FloodFill in a
variable, so memory allocation and disposal becomes easier, with less ifdefs

git-svn-id: trunk@40972 -
2019-01-21 16:08:38 +00:00
nickysn
f356add031 * moved the s1,s2,s3 scanline memory allocation in FloodFill before changing
CurrentColor, so it doesn't get changed if the function exits prematurely due
  to out of memory

git-svn-id: trunk@40971 -
2019-01-21 15:46:34 +00:00
nickysn
003a08f040 * use 'cbw' and 'cwd' instead of 'xor reg, reg' in the asm version of GetPixel16
git-svn-id: trunk@40970 -
2019-01-21 15:43:31 +00:00
nickysn
300e584936 * use 'cwd' instead of 'xor dx, dx' in the asm version GetPixel320
git-svn-id: trunk@40969 -
2019-01-21 15:30:58 +00:00
nickysn
57c931cb4c * use lodsb with a segment override prefix instead of mov in the asm version of GetPixel320
git-svn-id: trunk@40968 -
2019-01-21 15:28:22 +00:00
nickysn
1b4fcabc1d * use the si register instead of di in the asm version of GetPixel320
git-svn-id: trunk@40967 -
2019-01-21 15:18:51 +00:00
nickysn
cab9b4cb6b * fixed return of result in the asm version of GetPixel320
git-svn-id: trunk@40966 -
2019-01-21 15:16:16 +00:00
nickysn
92304ce573 * moved the check in FloodFill whether x,y are within the current viewport in
the beginning, before any heap memory allocations, to avoid memory leaks when
  FloodFill is invoked with a point that is outside the current viewport

git-svn-id: trunk@40965 -
2019-01-21 14:50:26 +00:00
nickysn
e6835e8ff7 * added check to ensure the memory allocation for DrawnList inside FloodFill hasn't returned nil
git-svn-id: trunk@40964 -
2019-01-21 14:47:48 +00:00
nickysn
f322b45611 * ignore VideoOfs entirely in mode 13h, since it doesn't support video pages
git-svn-id: trunk@40962 -
2019-01-21 14:12:17 +00:00
nickysn
698f8679d4 - removed comment saying that and/or/not put is not implemented, because it is implemented now
git-svn-id: trunk@40961 -
2019-01-21 14:10:41 +00:00
nickysn
39e1e4d2e7 + enabled the asm version of DirectPutPixel320
git-svn-id: trunk@40960 -
2019-01-21 14:09:25 +00:00
nickysn
907e3afae4 * 8086/8088 support in the asm version of DirectPutPixel320
git-svn-id: trunk@40959 -
2019-01-21 13:52:08 +00:00
nickysn
88f062dec8 + implemented all the write modes in the asm version of DirectPutPixel320
git-svn-id: trunk@40958 -
2019-01-21 13:51:40 +00:00
nickysn
f1467fdaaf * only load the low byte of CurrentColor in the asm version of DirectPutPixel320
git-svn-id: trunk@40957 -
2019-01-21 13:42:59 +00:00
nickysn
1d9dae2129 - removed commented out code from DirectPutPixel320
git-svn-id: trunk@40956 -
2019-01-21 13:40:41 +00:00
nickysn
0a838fa082 * huge memory model fix for the asm version of DirectPutPixel320
git-svn-id: trunk@40955 -
2019-01-21 13:40:04 +00:00
nickysn
6fe9285aa5 - removed the 32-bit asm code from the asm version of DirectPutPixel320
git-svn-id: trunk@40954 -
2019-01-21 13:39:14 +00:00
michael
198abd5e26 * Add Unicode/Widestring overload on windows for ResolveRelativeURI
git-svn-id: trunk@40952 -
2019-01-21 08:16:13 +00:00
florian
4f0da5fcc3 + patch by Marģers to support the x86 assembler instructions blsi, blsr, blsmsk, adcx, adox, movbe, pclmulqdq, resolves #34815 and #34799
+ avxopcodes tests also movbe and pclmulqdq

git-svn-id: trunk@40951 -
2019-01-20 18:50:12 +00:00
florian
8c66e9a2eb + support for 16 bit registers
git-svn-id: trunk@40950 -
2019-01-20 18:50:10 +00:00
florian
fc7ecf3206 * usage example for linux
git-svn-id: trunk@40949 -
2019-01-20 18:50:09 +00:00
michael
181766766b * Do not save so much session info
git-svn-id: trunk@40946 -
2019-01-20 17:57:27 +00:00
michael
3355bc65b0 * Correct options for parsing
git-svn-id: trunk@40945 -
2019-01-20 17:56:30 +00:00
michael
4f8b595e30 * Defaults are not to add default identifiers (fpdoc)
git-svn-id: trunk@40944 -
2019-01-20 17:55:15 +00:00
Jonas Maebe
b3a8543a56 * synchronised with trunk till r40942
git-svn-id: branches/debug_eh@40943 -
2019-01-20 17:37:07 +00:00
michael
2bcc195677 * Generic templates can be separated by semicolon (used in fgl unit)
git-svn-id: trunk@40942 -
2019-01-20 17:10:16 +00:00
florian
75a89d2115 * fix and enable MovOpMov2MovOp optimization on x86-64
git-svn-id: trunk@40941 -
2019-01-20 17:00:43 +00:00
michael
80e014d94a * Fix compilation
git-svn-id: trunk@40940 -
2019-01-20 16:52:09 +00:00
michael
6e704b6a4f * Parse type constraints in generics
git-svn-id: trunk@40939 -
2019-01-20 16:45:31 +00:00
florian
94d7a02fae * modified patch by Gareth Moreton to pool TmpUsedRegs in the assembler optimizers, resolves #34679
git-svn-id: trunk@40938 -
2019-01-20 14:16:38 +00:00
michael
1b31c90bba * Fix filename allocator for operators
git-svn-id: trunk@40937 -
2019-01-20 13:47:25 +00:00