Commit d5e4ed5
committed
GPU: Major refactor that simplifies the code and moves all GPU settings changes (except for 3D-related settings) to occur right before the beginning of line zero. All ports have been significantly affected by this change.
- GPU core: GPU engine class instantiations are now allocated with new and delete operators, rather than using static Allocate() and FinalizeAndDeallocate() methods.
- GPU core: GPU engines now reference an assigned GPUSubsystem object, rather than referencing the GPU global variable.
- Cocoa Port: Move all CGL context creation code to its own appropriate file. This now follows the same code pattern as WGL, GLX, EGL, and SDL.
- Windows Port: Reduce host memory usage for video framebuffers by using the framebuffer page system in GPUSubsystem directly instead of copying to separate DisplayBuffer structs.
- WIndows Port: Slightly improve overall video performance for both DirectDraw and OpenGL by eliminating one framebuffer copy.
- Windows Port: Significantly improve OpenGL video performance further (when running without video magnification filters) through better texture management, and also by eliminating one additional framebuffer copy.
- Windows Port: Virtually eliminate all CPU usage when the emulation is idle by eliminating periodic video redrawing.
- Windows Port: Greatly improve HUD redrawing when the emulation is idle. Window redrawing can now be up to the refresh rate of the host monitor.
- Windows Port: Fix a bug where changing the video magnification filter would cause a memory leak.
- GTK2 Port Only: Now supports vector fonts for HUD drawing via AGG2D_USE_VECTORFONTS, just like how the GTK3 port does it.
- GTK2 / GTK3 Ports: The Code::Blocks project file now defines AGG2D_USE_VECTORFONTS for both ports.
- GTK2 / GTK3 Ports: Maximum GPU Scaling Factor increased from 10.0 to 16.0. This now matches the maximum GPU Scaling Factor for the Cocoa and Windows ports.
- GTK2 / GTK3 Ports: The default color format is now 18-bit RGB666 instead of 15-bit RGB555. This is the actual color format for the NDS, and now matches the default color format for the Cocoa and Windows ports.
- GTK2 / GTK3 Ports: For anyone who cares to implement this -- it is now possible to set the video output color format, as the code is now ready for it. (Just set up some UI to call gtk*Event->SetColorFormat(), passing in an NDSColorFormat enum value to set the color format.)
- GTK2 / GTK3 Ports: Fix a bug where taking screenshots would fail.1 parent 815a70c commit d5e4ed5
File tree
33 files changed
+3003
-1860
lines changed- desmume/src
- frontend
- cocoa
- DeSmuME (Latest).xcodeproj
- DeSmuME (XCode 3).xcodeproj
- translations/English.lproj
- userinterface
- modules/osd/agg
- posix
- codeblocks
- gtk2
- gtk
- windows
33 files changed
+3003
-1860
lines changedLarge diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1359 | 1359 | | |
1360 | 1360 | | |
1361 | 1361 | | |
| 1362 | + | |
| 1363 | + | |
1362 | 1364 | | |
1363 | 1365 | | |
1364 | 1366 | | |
| |||
1399 | 1401 | | |
1400 | 1402 | | |
1401 | 1403 | | |
| 1404 | + | |
| 1405 | + | |
1402 | 1406 | | |
1403 | 1407 | | |
1404 | 1408 | | |
| |||
1536 | 1540 | | |
1537 | 1541 | | |
1538 | 1542 | | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
1539 | 1546 | | |
1540 | 1547 | | |
1541 | 1548 | | |
| |||
1609 | 1616 | | |
1610 | 1617 | | |
1611 | 1618 | | |
1612 | | - | |
1613 | | - | |
1614 | | - | |
1615 | | - | |
1616 | 1619 | | |
1617 | 1620 | | |
1618 | 1621 | | |
| |||
1671 | 1674 | | |
1672 | 1675 | | |
1673 | 1676 | | |
1674 | | - | |
1675 | | - | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
1676 | 1681 | | |
1677 | 1682 | | |
1678 | 1683 | | |
| |||
1697 | 1702 | | |
1698 | 1703 | | |
1699 | 1704 | | |
1700 | | - | |
1701 | | - | |
1702 | | - | |
1703 | | - | |
1704 | 1705 | | |
1705 | | - | |
1706 | | - | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
1707 | 1710 | | |
1708 | 1711 | | |
1709 | 1712 | | |
| |||
1714 | 1717 | | |
1715 | 1718 | | |
1716 | 1719 | | |
| 1720 | + | |
1717 | 1721 | | |
1718 | 1722 | | |
1719 | 1723 | | |
| |||
1855 | 1859 | | |
1856 | 1860 | | |
1857 | 1861 | | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
1858 | 1866 | | |
1859 | 1867 | | |
1860 | 1868 | | |
1861 | 1869 | | |
1862 | 1870 | | |
1863 | 1871 | | |
1864 | 1872 | | |
| 1873 | + | |
1865 | 1874 | | |
1866 | 1875 | | |
1867 | 1876 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
194 | 199 | | |
195 | 200 | | |
196 | 201 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
913 | 913 | | |
914 | 914 | | |
915 | 915 | | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
916 | 938 | | |
917 | 939 | | |
918 | 940 | | |
| |||
1033 | 1055 | | |
1034 | 1056 | | |
1035 | 1057 | | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
| 227 | + | |
227 | 228 | | |
228 | 229 | | |
229 | 230 | | |
| |||
255 | 256 | | |
256 | 257 | | |
257 | 258 | | |
| 259 | + | |
258 | 260 | | |
259 | 261 | | |
260 | 262 | | |
Lines changed: 26 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1534 | 1534 | | |
1535 | 1535 | | |
1536 | 1536 | | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
1537 | 1548 | | |
1538 | 1549 | | |
1539 | 1550 | | |
| |||
4092 | 4103 | | |
4093 | 4104 | | |
4094 | 4105 | | |
| 4106 | + | |
| 4107 | + | |
4095 | 4108 | | |
4096 | 4109 | | |
4097 | 4110 | | |
| |||
4909 | 4922 | | |
4910 | 4923 | | |
4911 | 4924 | | |
| 4925 | + | |
4912 | 4926 | | |
4913 | 4927 | | |
4914 | 4928 | | |
| |||
4926 | 4940 | | |
4927 | 4941 | | |
4928 | 4942 | | |
| 4943 | + | |
4929 | 4944 | | |
4930 | 4945 | | |
4931 | 4946 | | |
| |||
8008 | 8023 | | |
8009 | 8024 | | |
8010 | 8025 | | |
| 8026 | + | |
8011 | 8027 | | |
8012 | 8028 | | |
8013 | 8029 | | |
| |||
8212 | 8228 | | |
8213 | 8229 | | |
8214 | 8230 | | |
| 8231 | + | |
8215 | 8232 | | |
8216 | 8233 | | |
8217 | 8234 | | |
| |||
8421 | 8438 | | |
8422 | 8439 | | |
8423 | 8440 | | |
| 8441 | + | |
8424 | 8442 | | |
8425 | 8443 | | |
8426 | 8444 | | |
| |||
8783 | 8801 | | |
8784 | 8802 | | |
8785 | 8803 | | |
| 8804 | + | |
8786 | 8805 | | |
8787 | 8806 | | |
8788 | 8807 | | |
| |||
8947 | 8966 | | |
8948 | 8967 | | |
8949 | 8968 | | |
| 8969 | + | |
8950 | 8970 | | |
8951 | 8971 | | |
8952 | 8972 | | |
| |||
9207 | 9227 | | |
9208 | 9228 | | |
9209 | 9229 | | |
| 9230 | + | |
9210 | 9231 | | |
9211 | 9232 | | |
9212 | 9233 | | |
| |||
9418 | 9439 | | |
9419 | 9440 | | |
9420 | 9441 | | |
| 9442 | + | |
9421 | 9443 | | |
9422 | 9444 | | |
9423 | 9445 | | |
| |||
9678 | 9700 | | |
9679 | 9701 | | |
9680 | 9702 | | |
| 9703 | + | |
9681 | 9704 | | |
9682 | 9705 | | |
9683 | 9706 | | |
| |||
9959 | 9982 | | |
9960 | 9983 | | |
9961 | 9984 | | |
| 9985 | + | |
9962 | 9986 | | |
9963 | 9987 | | |
9964 | 9988 | | |
| |||
10067 | 10091 | | |
10068 | 10092 | | |
10069 | 10093 | | |
| 10094 | + | |
10070 | 10095 | | |
10071 | 10096 | | |
10072 | 10097 | | |
| |||
10302 | 10327 | | |
10303 | 10328 | | |
10304 | 10329 | | |
| 10330 | + | |
10305 | 10331 | | |
10306 | 10332 | | |
10307 | 10333 | | |
| |||
0 commit comments