Commit Graph

894 Commits

Author SHA1 Message Date
Hajime Hoshi
30e48d5c3c graphics: Stop unnecessary copy of elements (projection matrix) 2018-02-20 01:36:56 +09:00
Hajime Hoshi
40b1948baa graphics: Stop unnecessary copy of elements 2018-02-20 01:17:21 +09:00
Hajime Hoshi
f1f7e5bcec affine: Transpose ColorM implementation for optimization 2018-02-20 00:53:53 +09:00
Hajime Hoshi
9b361086d7 affine: Use float32 inside of ColorM 2018-02-20 00:33:56 +09:00
Hajime Hoshi
2db1753503 opengl: Remove struct usages to avoid copying (texture) 2018-02-19 02:49:00 +09:00
Hajime Hoshi
f85c846596 opengl: Remove invalidFramebuffer and use nil instead 2018-02-19 02:22:05 +09:00
Hajime Hoshi
1154fcf470 opengl: Remove unused casts 2018-02-19 02:20:28 +09:00
Hajime Hoshi
2936ea5080 opengl: Remove struct usages to avoid copying (framebuffer) 2018-02-19 02:18:56 +09:00
Hajime Hoshi
9400720ddf opengl: Remove struct usages to avoid copying (shader) 2018-02-19 02:06:06 +09:00
Hajime Hoshi
9dc68289b8 opengl: Remove struct usages to avoid copying (buffer) 2018-02-19 02:03:01 +09:00
Hajime Hoshi
c6cf8e5184 opengl: Remove struct usages to avoid copying (program) 2018-02-19 01:45:03 +09:00
Hajime Hoshi
2fbfd0bdcb opengl: Remove struct usages to avoid copying 2018-02-19 01:38:17 +09:00
Hajime Hoshi
896a47b2ee affine: Reduce copying cost of GeoM 2018-02-18 23:39:24 +09:00
Hajime Hoshi
6ef4bbde2d graphics: Add FilterDefault; Make DrawImageOptions specify Filter (#453) 2018-02-14 02:59:44 +09:00
Hajime Hoshi
929dfa1cfb affine: Implement ColorM.Add for backward compatibility: Don't use this anyway 2018-02-13 03:06:19 +09:00
Hajime Hoshi
cc423c276d ui: Avoid creating empty slice at Touches 2018-02-12 20:23:24 +09:00
Hajime Hoshi
7d9b901ab3 ui: Avoid creating empty slice at GamepadIDs 2018-02-12 20:20:39 +09:00
Hajime Hoshi
95480d0644 affine: Separate ColorM impl into two slices
This fix avoids unnecessary allocating arrays.
2018-02-12 19:01:01 +09:00
Hajime Hoshi
392ee92aeb Add internal/hooks to replace internal/audiobinding 2018-02-04 17:33:17 +09:00
Hajime Hoshi
e3023889ac ui: Change RegularTermination to a value 2018-02-04 00:22:38 +09:00
Hajime Hoshi
24d7487fc7 graphics: Bug fix: TestImageTooManyFill didin't pass on some machines (reland)
Fixes #492
2018-02-03 23:03:18 +09:00
Hajime Hoshi
9ece27e7e8 Revert "graphics: Bug fix: TestImageTooManyFill didin't pass on some machines"
This reverts commit 7cb7b7b4ff.
2018-02-03 20:39:33 +09:00
Hajime Hoshi
7cb7b7b4ff graphics: Bug fix: TestImageTooManyFill didin't pass on some machines
Fixes #492
2018-02-03 20:36:16 +09:00
Hajime Hoshi
595e654123 graphics: Bug fix: pixels read from GPU might include errors (#492) 2018-02-03 16:43:42 +09:00
Hajime Hoshi
65b71ad79d restorabel: uint8 -> byte 2018-02-03 16:36:43 +09:00
Hajime Hoshi
4bbb4b0445 graphics: Remove unneeded comments (#491) 2018-02-03 03:32:03 +09:00
Hajime Hoshi
52350c1b1b graphics: Bug fix: TestImageEdge failed on MacBook Pro (#491) 2018-02-03 03:30:09 +09:00
Hajime Hoshi
beaa060ce3 graphics: Adjust texel values that can be exactly on the edges of the source rect (#491) 2018-02-03 02:07:46 +09:00
Hajime Hoshi
8b2ed6cddd ui: Update GraphicsContext every frame (#490) 2018-02-02 02:08:03 +09:00
Hajime Hoshi
80596820cf graphics: Replace []uint8 with []byte 2018-01-28 22:40:36 +09:00
seebs
0b7ba8e573 Do GeoM projection on CPU (#477)
Handling GeoM projection on CPU may seem like a weird choice, given
how fast GPU is, but it pays off:

* You only have to do a very small subset of the actual matrix
  multiply.
* You don't have to construct a matrix in the vertex shader.
* Six fewer float32 values per vertex.
* You do still have to do the matrix computation for each vertex,
  though.

Signed-off-by: Seebs <seebs@seebs.net>
2018-01-14 16:01:55 +09:00
Hajime Hoshi
38c72faf95 ui: Deprecate SetCursorVisibility and add SetCursorVisible (#407) 2018-01-09 02:01:33 +09:00
Hajime Hoshi
d8c0d88960 clock: Add comments 2018-01-07 21:12:25 +09:00
Hajime Hoshi
1e33cbb66f clock: Remove limitation of the number of frames to be updated 2018-01-07 20:20:02 +09:00
Hajime Hoshi
d5d5ebb0b3 clock: Make ProceedAudioTimer take a number of frames 2018-01-07 18:32:19 +09:00
Hajime Hoshi
d12a3d4073 clock: Refactoring 2018-01-07 17:10:56 +09:00
Hajime Hoshi
0a911b28b2 ui: Remove unneeded variable deviceScale 2018-01-07 14:51:25 +09:00
Hajime Hoshi
34d2e9a3fb ui: Remove unused function 2018-01-07 05:25:29 +09:00
Hajime Hoshi
0469ef386b ui: Fix comment 2018-01-06 23:53:35 +09:00
Hajime Hoshi
4bcb2e5682 devicescale: Rename XFCE -> Xfce 2018-01-04 17:16:02 +09:00
Hajime Hoshi
ee87a0fd71 devicescale: Add other desktops 2018-01-04 03:29:58 +09:00
Hajime Hoshi
75f5cbd45a devicescale: Rename windowManager -> desktop 2018-01-04 03:22:30 +09:00
Hajime Hoshi
60993fe3ea devicescale: Rename files 2018-01-04 03:19:19 +09:00
Hajime Hoshi
738d23cf51 devicescale: Bug fix: need to parse XDG_CURRENT_DESKTOP for GNOME classic 2018-01-04 00:55:53 +09:00
Hajime Hoshi
70f9fee8af devicescale: Detect window manager 2018-01-04 00:01:41 +09:00
Hajime Hoshi
eac5564342 devicescale: Fix scaling on UNIX 2018-01-03 23:38:47 +09:00
Hajime Hoshi
9ec0785203 Rename files _xwindow.go to _unix.go 2018-01-03 23:38:47 +09:00
Hajime Hoshi
edaaa178b8 devicescale: Implement scaling for Gnome and Cinnamon (#344) 2018-01-03 23:36:33 +09:00
Hajime Hoshi
a64367f906 ui: Refactoring: remove an unneeded member 2018-01-03 17:35:34 +09:00
Hajime Hoshi
5a17497723 devicescale: Make DeviceScale concurrent-safe 2018-01-03 16:52:26 +09:00