During development of TINY METAL I ran into issues where large textures were only using R8G8R8A8, aka 4 bytes per pixel, instead of DXT1 or another compression format. I wanted these textures to use DXT1 or another compression format to save space so the full 32bits per pixel was un-usable.
In our case the solution was the pad the images outside UE4 to be multiples of 4 pixels. Note that using the in UE4 “Power Of Two Mode” padding offered in the texture settings did not allow the images to use DXT1. Instead I was forced to resize the images outside unreal before importing them.
If you are on my site based on my Microsoft posts then I should maybe mention that I now work in the Japanese games industry. Its a pretty cool industry.
During my Linux printing work on Google Summer of Code 2014 I started programming a turn based strategy game. Super Battlelands is a turn based strategy game with unit building and terrain control.
At my day job I work at a small english speaking mobile game contractor in Tokyo. When I get home I work on Super Battlelands.
Todo list at start of Week
- Implement the one remaining TODO
- Debug “file too large” print bug
- Explore dbus based on-demand starting
- Create AppArmor profile
- Create SELinux profile
Completed This Week
- Implemented the one remaining TODO. Which was trailer support in chunk messages.
- Fixed “file too large” print bug. Was caused by the libusb timeout.
- Created AppArmor profile
Todo list at end of week
- Address issues in system-config-printer which Tim found during review
- Add a version number
Ya! IPPUSBXD is feature complete and debugged. After optimization the runtime cost has dwindled to 6M instructions for a complete load of the printer’s homepage.
After researching selinux I concluded the syntax is insane. The Apparmor profile syntax is clear and logical; it was easy to understand what Apparmor was restricting. Even large Apparmor profile like CUPSD’s were easy to read. SElinux just appears to be a bundle of abstraction and not something I want to deal with. The abstraction likely makes it easier to write SELinux profiles for experts but not something worthwhile for just one application.
Long term I would like to write a DBUS service for ippusbxd to reduce idle RAM usage.
This marks the end of full-time (or closer to part-time the past few weeks) on ippusbxd and the last time I’ll make a weekly update.
The tasks remaining are:
- Give ippusbxd a version number (Till asked for this)
- Address issues Tim found when reviewing the system-config-printer patches.
I’ll post a final blog post where I show off the GSoC shirt for this year once those tasks are done.