summaryrefslogtreecommitdiff
path: root/sys/src/9/zynq
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2019-01-30 18:22:52 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2019-01-30 18:22:52 +0100
commitcefc849a9521c9d5ba85d5aa88526d0f4b059db9 (patch)
treeb5f42fb9651de5734abc2e23647ca9ec7ea49c25 /sys/src/9/zynq
parent8e1218acebcb87bcf16e6bca5b5f213ff2a1df3a (diff)
devdraw: get rid of softscreen==0xa110c hack and make attachscreen() return Memdata*
all screen implementations use a Memimage* internally for the framebuffer, so we can return a shared reference to its Memdata structure in attachscreen() instead of a framebuffer data pointer. this eleminates the softscreen == 0xa110c hack as we always use shared Memdata* now.
Diffstat (limited to 'sys/src/9/zynq')
-rw-r--r--sys/src/9/zynq/screen.c8
-rw-r--r--sys/src/9/zynq/screen.h2
2 files changed, 4 insertions, 6 deletions
diff --git a/sys/src/9/zynq/screen.c b/sys/src/9/zynq/screen.c
index fcf3a365c..ec91a820b 100644
--- a/sys/src/9/zynq/screen.c
+++ b/sys/src/9/zynq/screen.c
@@ -65,7 +65,7 @@ screeninit(void)
conf.monitor = 1;
}
-uchar*
+Memdata*
attachscreen(Rectangle *r, ulong *chan, int* d, int *width, int *softscreen)
{
if(gscreen == nil)
@@ -75,12 +75,10 @@ attachscreen(Rectangle *r, ulong *chan, int* d, int *width, int *softscreen)
*d = gscreen->depth;
*chan = gscreen->chan;
*width = gscreen->width;
+ *softscreen = 1;
- /* make devdraw use gscreen->data */
- *softscreen = 0xa110c;
gscreen->data->ref++;
-
- return gscreen->data->bdata;
+ return gscreen->data;
}
void
diff --git a/sys/src/9/zynq/screen.h b/sys/src/9/zynq/screen.h
index 9ebbff673..1ea1a24d7 100644
--- a/sys/src/9/zynq/screen.h
+++ b/sys/src/9/zynq/screen.h
@@ -26,7 +26,7 @@ extern void mouseredraw(void);
/* screen.c */
extern void blankscreen(int);
extern void flushmemscreen(Rectangle);
-extern uchar* attachscreen(Rectangle*, ulong*, int*, int*, int*);
+extern Memdata* attachscreen(Rectangle*, ulong*, int*, int*, int*);
extern void cursoron(void);
extern void cursoroff(void);
extern void setcursor(Cursor*);