Commit Graph

55151 Commits

Author SHA1 Message Date
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
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
michael
d3c8ca53f7 * Add in operator
git-svn-id: trunk@40936 -
2019-01-20 13:04:28 +00:00
michael
867de68d9a * Remove debug statement
git-svn-id: trunk@40935 -
2019-01-20 13:04:15 +00:00
florian
e24449bcfd * if sub nodes of a commutative node contain conditionally executed nodes, these sub nodes might not be swapped
as this might result in some nodes not being executed, like temp. create nodes with init. code, see e.g. issue #34653, resolves #34653

git-svn-id: trunk@40934 -
2019-01-20 12:55:20 +00:00