6948 Commits

Author SHA1 Message Date
payonel
c8fce521d7 gpu vram api return change - freeAllBuffers returns the number of buffers freed
increase timeouts on bitblt after further server load and network load testing
2020-05-21 02:41:22 -07:00
payonel
a4fbcd975b significant change, and carefully tested - read/writes to vram is now free, no budget cost
This change required removing our minimum budget cost (the cost for a component invoke) which was .001 (budget limits are ~1)
This affects a number of cheap component api calls, so that they no longer have a .001 minimum call budget. From tesing it appears that tight loops caling these api don't experience a different behavior, they still fail with "too long without yielding" just the same. Additionally, these api are safe to call without forcing a budget cost. This should have a small quality of life improvement in many places, being able to call some api ever so slightly faster.

also, added better config options for vram settings
2020-05-21 00:44:43 -07:00
payonel
09505e6cff openos improvements
1. if /home is readonly, a helpful message is displayed tell the user to run install
2. remove -i from `cp` alias because a bunch of people complain about it
3. `install` now does not clobber /etc/rc.cfg nor /home/.shrc
2020-05-21 00:36:09 -07:00
payonel
4857395e6a reverting clamp for callback cost (as it was before) 2020-05-19 02:05:14 -07:00
payonel
61780aa36e small adjustment to bitblt perf
also, temporary changes to minimum callback data for perf testing
2020-05-19 02:04:11 -07:00
payonel
694a12af38 left in debug values on accident 2020-05-18 23:41:08 -07:00
payonel
687bf569a0 more meaningful bitblt budget cost scaling 2020-05-18 23:36:14 -07:00
Pablo Blanco Celdrán
dcc96e9133 Added VEGA AI name (Doom 2016) 2020-05-18 10:01:09 -07:00
payonel
cbbbfbc5fa Merge branch 'master-MC1.10' into master-MC1.12 2020-05-18 02:43:21 -07:00
payonel
5225dfc2e8 Merge branch 'master-MC1.7.10' into master-MC1.10 2020-05-18 02:43:11 -07:00
payonel
33170fadbc api rename for get/set buffer, it is now {get/set}ActiveBuffer
this breaks previous build, but this is dev stuff, so it's okay :)
no release is broken here
2020-05-18 02:40:59 -07:00
payonel
1ecd2b1e6e bitblt fix for same device, and better markDirty code 2020-05-18 02:36:58 -07:00
payonel
a7951d759b Merge branch 'master-MC1.10' into master-MC1.12
# Conflicts:
#	src/main/scala/li/cil/oc/common/component/TextBuffer.scala
#	src/main/scala/li/cil/oc/server/component/GraphicsCard.scala
2020-05-18 02:19:08 -07:00
payonel
455e52b676 Merge branch 'master-MC1.7.10' into master-MC1.10
# Conflicts:
#	src/main/scala/li/cil/oc/common/component/TextBuffer.scala
#	src/main/scala/li/cil/oc/server/component/GraphicsCard.scala
2020-05-18 02:03:09 -07:00
payonel
fabe7bac43 gpu budget cleanup - made the vram bitblt budget and energy cost far more reasonable and logical
note: dirty page bitblts to a screen are increasinly expensive for larger buffers
bitblts to vram are "free" (no budget, no energy)
note that any direct component call has a minimum .001 budget cost
2020-05-17 23:33:01 -07:00
payonel
efe6cbc1e7 vram: added a couple more defaults for buffer api and fixed client sync code for dirty buffer updates 2020-05-17 20:16:26 -07:00
payonel
e70856bf9f gpu video ram with allocate, free, bitblts
writing text and color data to a gpu page is free and server side only
bitblt to screen cause an update and has more budget and power cost
2020-05-17 17:29:19 -07:00
payonel
9d38ecb51d remove packet sync for invisible gpu change - make free more free 2020-05-16 10:48:23 -07:00
payonel
4a3b53d760 fix openos crash when setViewport is called without args 2020-05-15 21:42:08 -07:00
payonel
15d34a8660 GPU speed up: Writing to the gpu buffer outside the viewport is free. no budget cost, no power cost, (also, writes are already direct calls)
We've discussed a large variety of options for the gpu
I've reviewed our options and suggestions. Ultimately - users want faster graphics. Most of the ideas are relating to what api is meaningful to the user. The core issue we have in making graphics faster is an increase load on the server.
For example
  Tier 3 GPU and Tier 3 Screen has a max resolution of 160x50
  If you set the viewport (via gpu.setViewport) to 160x25 the bottom half of the buffer will no longer be shown. All gpu.set, gpu.copy, and gpu.fill calls into that space have no cost
  Overlaps are calculated for partial cost. Half in and half out will have half the power cost.

closes #779
2020-05-15 21:01:41 -07:00
payonel
2ca2f2637b Merge branch 'master-MC1.10' into master-MC1.12 2020-05-15 02:35:19 -07:00
payonel
684979cb94 fix old unicode bug in openos buffer 2020-05-15 02:34:42 -07:00
payonel
a13792aef3 fixing and old unicode bug
the openos io buffer in utf8 mode can splice inside a utf8 sequence
this code prevents that by reading the next chunk to complete the sequence
in the case the stream actually has bad utf8 sequence, the io buffer decides to return
more data than it was asked, rather than corrupt the stream
closes #1207
2020-05-15 02:33:59 -07:00
payonel
7eadb96746 fixing and old unicode bug
the openos io buffer in utf8 mode can splice inside a utf8 sequence
this code prevents that by reading the next chunk to complete the sequence
in the case the stream actually has bad utf8 sequence, the io buffer decides to return
more data than it was asked, rather than corrupt the stream
closes #1207
2020-05-15 02:28:08 -07:00
payonel
750768cca0 player in 1.12 instead of thePlayer
of course i compiled and rechecked this in 1.12
2020-05-15 00:05:16 -07:00
payonel
194660699f Merge branch 'master-MC1.10' into master-MC1.12 2020-05-14 23:54:31 -07:00
payonel
68c54ea08e Merge branch 'master-MC1.7.10' into master-MC1.10 2020-05-14 23:53:57 -07:00
payonel
21c67ce31d the y value passed to render methods changed in 1.10 to ref feet instead of eyes
this breaks our screen render check when the player is standing just below the y value of text on the screen, but should still be able to see the text.
closes #3252
2020-05-14 23:53:00 -07:00
payonel
66bcd3f46a fix cpu to use default lua arch (5.3) 2020-05-14 22:56:47 -07:00
payonel
7bd148367c put 5.3 above 5.2 so it is the first selected architecture 2020-05-14 21:32:21 -07:00
payonel
f9e84b3fd9 woops, left debug text in code 2020-05-14 20:58:35 -07:00
payonel
5cb4dc5537 tiny cleanup in shell for crashed scripts
remove unknown error message
2020-05-14 20:18:38 -07:00
payonel
1b4ec99eba Merge branch 'master-MC1.10' into master-MC1.12 2020-05-13 15:19:09 -07:00
payonel
2e33be4b5a fix motion sensor again because block pos is whole number 2020-05-13 15:18:43 -07:00
payonel
583762c739 Merge branch 'master-MC1.10' into master-MC1.12
# Conflicts:
#	src/main/scala/li/cil/oc/server/component/MotionSensor.scala
2020-05-13 09:55:56 -07:00
payonel
7676c64dd9 Merge branch 'master-MC1.7.10' into master-MC1.10
# Conflicts:
#	src/main/scala/li/cil/oc/server/component/MotionSensor.scala
2020-05-13 09:49:09 -07:00
payonel
310120df31 fix a couple of devfs adapter issues
gpu: remove screen link when there is no screen
modem: remove max packet size, as this method no longer exists
2020-05-13 09:09:30 -07:00
payonel
f5b5170f5c fix \27[6n response, it should write [ before the coords
improve motion sensor check both feet and eyes
2020-05-13 00:50:30 -07:00
PrismaticYT
abcc7cea22 Add Cortana
Add Cortana (from Halo; https://en.wikipedia.org/wiki/Cortana_(Halo))
2020-05-12 22:30:47 -07:00
PrismaticYT
6e924cd325 Update README.md 2020-05-12 09:00:58 -07:00
payonel
463d5635fe fix hologram.copy - we weren't sending the full dirty region on updates in some cases
closes #3254
2020-05-11 22:59:41 -07:00
payonel
f82ccc5fc4 pass errors back to shell.execute. it seems reasonable for only interactive shell to assert (and thus print stack) on failed commands) 2020-05-11 11:15:00 -07:00
Avevad
58943f9e74 [OpenOS] Tiny ls manual fixes
Removed unnecessary characters in the OpenOS manpage for ls
2020-05-11 08:11:02 -07:00
payonel
be1cf8c24c fix shift+back in /bin/edit - it should backspace normally 2020-05-06 22:09:13 -07:00
Amanda Cameron
db91f2c601 barcode-reader: Oops, turns out if you try and scan literally anything else, it'll break the scan. 2020-05-04 01:41:43 -07:00
payonel
ad5443c415 close handles on procs in reverse order
also explicitly close stdout in cat. proc closes it, but this is cleaner
2020-04-28 10:36:25 -07:00
payonel
4629ded7ec Merge branch 'master-MC1.10' into master-MC1.12 2020-04-27 00:16:17 -07:00
payonel
56eaafabdc Merge branch 'master-MC1.7.10' into master-MC1.10 2020-04-27 00:10:13 -07:00
payonel
b117cbf89b keep old files, besides, deleting them does cause machine failure with autosaving mods that may adjust file timestamps
closes #3225
closes #2999
2020-04-27 00:04:34 -07:00
payonel
77b3819f2f nevermind, I was wrong. and apparently we need the cache to nil the key else more problems with something we're doing with lua callbacks 2020-04-26 12:38:43 -07:00