6759 Commits

Author SHA1 Message Date
payonel
8689b7479f Merge branch 'master-MC1.7.10' into master-MC1.10
# Conflicts:
#	src/main/scala/li/cil/oc/client/gui/Rack.scala
#	src/main/scala/li/cil/oc/common/component/TextBuffer.scala
#	src/main/scala/li/cil/oc/common/tileentity/Rack.scala
#	src/main/scala/li/cil/oc/server/component/DebugCard.scala
#	src/main/scala/li/cil/oc/server/component/Trade.scala
2020-05-24 01:16:27 -07:00
payonel
7b078ada5b use rawequal for internal table checks in machien.lua
thanks bauen1
2020-05-24 00:42:20 -07:00
payonel
e0f42c30ee rename color_bytes to colors 2020-05-24 00:35:51 -07:00
payonel
af9a34a6af fixed mixed tier gpu and screen bitblt 2020-05-23 23:45:01 -07:00
payonel
20f2cc460f optimize color write and increase bitblt limits
the color write improvements appears to give clients a 90% speed up on loading color nbt
2020-05-23 22:59:27 -07:00
payonel
6ff0d7865e fix support for multiple gpu vram access to a screen 2020-05-23 17:39:35 -07:00
payonel
ec2e7d4aaf some tooltips and a fix for possible install code path (nil ref) 2020-05-23 01:29:04 -07:00
payonel
9a61dd94f6 add tooltip to trading upgrade.
diable rack "relay mode" by default when crafting a new rack
add better descriptive text to debug card connectToBlock
2020-05-22 23:23:53 -07:00
payonel
13d19c1bb8 insure minimal bitblt cost when writing to screen 2020-05-22 10:12:05 -07:00
payonel
a879a181f2 update settings.scala to match defaults in application.conf 2020-05-22 01:54:05 -07:00
payonel
4e6d1f930b added budget costs for bitblt that allow a dynamic indirect callback behavior, while being direct by default
this also increases the budget cost for bitblt for dirty pages. this new calibration is more server friendly
2020-05-21 23:47:10 -07:00
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