<feed xmlns='http://www.w3.org/2005/Atom'>
<title>plan9port/src/cmd/devdraw/cocoa-screen-metal.m, branch patch</title>
<subtitle>Plan 9 from User Space (with patches)</subtitle>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/'/>
<entry>
<title>devdraw: simplify mac file names</title>
<updated>2020-01-13T21:46:14+00:00</updated>
<author>
<name>Russ Cox</name>
<email>rsc@swtch.com</email>
</author>
<published>2020-01-09T00:54:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=db20f89c3286f277945ac4307f789a9980d31bf6'/>
<id>db20f89c3286f277945ac4307f789a9980d31bf6</id>
<content type='text'>
Now that we only have Metal, we can drop the -metal.
Also now that Carbon is gone we can drop the macargv.c,
and then the -objc from object file names.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that we only have Metal, we can drop the -metal.
Also now that Carbon is gone we can drop the macargv.c,
and then the -objc from object file names.
</pre>
</div>
</content>
</entry>
<entry>
<title>devdraw: cocoa metal screen adds a delayed update (#270)</title>
<updated>2019-06-19T18:32:57+00:00</updated>
<author>
<name>Xiao-Yong</name>
<email>xjin@anl.gov</email>
</author>
<published>2019-06-19T18:32:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=e995a0c101863688d5f14649ae3de45a7c43789c'/>
<id>e995a0c101863688d5f14649ae3de45a7c43789c</id>
<content type='text'>
The immediate display of the screen sometimes miss the update from
the CPU side memory.  No obvious synchronization mechanism is available.
In order to make sure the screen updates properly, we set needsDisplay
again after 16ms delay to ensure a second screen update.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The immediate display of the screen sometimes miss the update from
the CPU side memory.  No obvious synchronization mechanism is available.
In order to make sure the screen updates properly, we set needsDisplay
again after 16ms delay to ensure a second screen update.
</pre>
</div>
</content>
</entry>
<entry>
<title>devdraw: handle windowDidResize on macOS (#212)</title>
<updated>2019-06-11T16:56:42+00:00</updated>
<author>
<name>Pocket7878</name>
<email>poketo7878@gmail.com</email>
</author>
<published>2018-11-17T12:22:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=d4e16c838ab2cccd97ad6e24fc290239666eaaac'/>
<id>d4e16c838ab2cccd97ad6e24fc290239666eaaac</id>
<content type='text'>
This supports non-live window resize.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This supports non-live window resize.
</pre>
</div>
</content>
</entry>
<entry>
<title>devdraw: cocoa metal screen updates (#215)</title>
<updated>2019-05-18T03:17:44+00:00</updated>
<author>
<name>Xiao-Yong</name>
<email>xjin@anl.gov</email>
</author>
<published>2019-05-18T03:17:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=cc9ecfbee7b1c346bd6b35bf1b9501bdf7eb9c21'/>
<id>cc9ecfbee7b1c346bd6b35bf1b9501bdf7eb9c21</id>
<content type='text'>
* devdraw: cocoa metal screen uses a dirty hack to make everything smooth

* devdraw: cocoa metal screen uses a layer to make fullscreen applications behave

* devdraw: macOS cocoa metal fix resizeimg without img

* devdraw: macOS cocoa metal uses blit instead of render

We directly use the blit command encoder to copy texture to the
framebuffer.  We no longer need to compile the metal shader every
time the application starts just for rendering a flat 2D surface.

* travis: add osx images covering 10.13 and 10.14
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* devdraw: cocoa metal screen uses a dirty hack to make everything smooth

* devdraw: cocoa metal screen uses a layer to make fullscreen applications behave

* devdraw: macOS cocoa metal fix resizeimg without img

* devdraw: macOS cocoa metal uses blit instead of render

We directly use the blit command encoder to copy texture to the
framebuffer.  We no longer need to compile the metal shader every
time the application starts just for rendering a flat 2D surface.

* travis: add osx images covering 10.13 and 10.14
</pre>
</div>
</content>
</entry>
<entry>
<title>devdraw: stop redirecting ^H in cocoa-metal (#209)</title>
<updated>2019-04-05T19:11:11+00:00</updated>
<author>
<name>Xiao-Yong</name>
<email>jinxiaoyong@gmail.com</email>
</author>
<published>2019-04-05T19:11:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=317c3cdb76806629e8c2710b7fb9a69cc3e46867'/>
<id>317c3cdb76806629e8c2710b7fb9a69cc3e46867</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>devdraw: prefer low-power GPU for macOS metal rendering (#231)</title>
<updated>2019-04-05T19:08:20+00:00</updated>
<author>
<name>Chris Schultz</name>
<email>christopher.schultz@auth0.com</email>
</author>
<published>2019-04-05T19:08:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=61601587295f6d0ef1c4084530fe0318e0c72b16'/>
<id>61601587295f6d0ef1c4084530fe0318e0c72b16</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>devdraw: fix cocoa metal _flushmemscreen for invalid rectangles (#240)</title>
<updated>2019-04-05T18:44:47+00:00</updated>
<author>
<name>Xiao-Yong</name>
<email>jinxiaoyong@gmail.com</email>
</author>
<published>2019-04-05T18:44:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=0308e1f010cd8650840fa0ceee3b342229982420'/>
<id>0308e1f010cd8650840fa0ceee3b342229982420</id>
<content type='text'>
It is possible to receive multiple screen resize events, and resizeimg
would be called for different sizes, before _flushmemscreen actually
gets called with rectangle sizes different from the most recent
resizeimg call.  The size mismatch would trigger illegal memory
access inside _flushmemscreen.

This commit protects _flushmemscreen by returning early if the requested
rectangle is outside of the current texture rectangle.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is possible to receive multiple screen resize events, and resizeimg
would be called for different sizes, before _flushmemscreen actually
gets called with rectangle sizes different from the most recent
resizeimg call.  The size mismatch would trigger illegal memory
access inside _flushmemscreen.

This commit protects _flushmemscreen by returning early if the requested
rectangle is outside of the current texture rectangle.</pre>
</div>
</content>
</entry>
<entry>
<title>devdraw: respond to windowDidBecomeKey on darwin (#239)</title>
<updated>2019-04-05T18:43:21+00:00</updated>
<author>
<name>Jacob Vosmaer</name>
<email>contact@jacobvosmaer.nl</email>
</author>
<published>2019-04-05T18:43:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=4d3c36cce4d70dfd88bd5e782e86141775577d30'/>
<id>4d3c36cce4d70dfd88bd5e782e86141775577d30</id>
<content type='text'>
Fixes bug where devdraw does not "notice" mouse position after task
switch. Fixes https://github.com/9fans/plan9port/issues/232.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes bug where devdraw does not "notice" mouse position after task
switch. Fixes https://github.com/9fans/plan9port/issues/232.</pre>
</div>
</content>
</entry>
<entry>
<title>devdraw: add Cursor2 support on macOS 10.14 Mojave</title>
<updated>2018-11-16T01:39:35+00:00</updated>
<author>
<name>Russ Cox</name>
<email>rsc@swtch.com</email>
</author>
<published>2018-11-16T01:28:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=7d43dde539378fb5730df6ce961f7916f495746e'/>
<id>7d43dde539378fb5730df6ce961f7916f495746e</id>
<content type='text'>
This replaces the pixel-art scaling algorithm used for upscaling before.
The results were not crisp enough to serve as everyday cursors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This replaces the pixel-art scaling algorithm used for upscaling before.
The results were not crisp enough to serve as everyday cursors.
</pre>
</div>
</content>
</entry>
<entry>
<title>devdraw: rewrite the Cocoa screen using Metal</title>
<updated>2018-11-16T01:39:35+00:00</updated>
<author>
<name>Xiao-Yong Jin</name>
<email>xjin@anl.gov</email>
</author>
<published>2018-10-22T01:59:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=9af9ceca26596d562a3ae89fda70bad9f8822ab0'/>
<id>9af9ceca26596d562a3ae89fda70bad9f8822ab0</id>
<content type='text'>
Add a new macOS cocoa screen, cocoa-screen-metal.m.
Rewrite the macOS cocoa drawing code to use the builtin runloop,
and use Metal to push pixels with CAMetalLayer.

Remove all of the deprecated code, and simplify some of the logic.
Modify mkwsysrules.sh such that the new code is used only when
the system version is equal or higher than 10.14.

Allow touch events to simulate mouse clicks:
three finger tap for the middle mouse button;
four finger tap for the 2-1 chord.

Support Tresize.

Scale 16x16 Cursor up to 32x32 with an EPX algorithm.

Support macOS input sources including the basic dead keys and the
advanced CJK input methods.

Increase the communication buffers in cocoa-srv.c to allow more
input, especially for long sentences prepared by the macOS input
souces.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a new macOS cocoa screen, cocoa-screen-metal.m.
Rewrite the macOS cocoa drawing code to use the builtin runloop,
and use Metal to push pixels with CAMetalLayer.

Remove all of the deprecated code, and simplify some of the logic.
Modify mkwsysrules.sh such that the new code is used only when
the system version is equal or higher than 10.14.

Allow touch events to simulate mouse clicks:
three finger tap for the middle mouse button;
four finger tap for the 2-1 chord.

Support Tresize.

Scale 16x16 Cursor up to 32x32 with an EPX algorithm.

Support macOS input sources including the basic dead keys and the
advanced CJK input methods.

Increase the communication buffers in cocoa-srv.c to allow more
input, especially for long sentences prepared by the macOS input
souces.
</pre>
</div>
</content>
</entry>
</feed>
