diff options
author | Ken Mays <[email protected]> | 2019-09-26 09:47:06 +0000 |
---|---|---|
committer | Juan Suárez Romero <[email protected]> | 2019-10-01 10:31:02 +0000 |
commit | 4943c89d6d3f522b3100be9187ff045f84f032b1 (patch) | |
tree | 9c572b4a77b3a0309cc829d417b55682f521c5a7 /src/gallium/state_trackers | |
parent | e55df4c8596893ca7258a9f199610d8528d46640 (diff) |
haiku: fix Mesa build
1. The hgl.c file is a read-only file versus read-write.
Ref: src/gallium/state_trackers/hgl/hgl.c
2. I've included the Haiku-specific patches I used to get a successful
build of Mesa 19.1.7 on Haiku using the meson/ninja build procedure.
Shows "[764/764] linking target ... libswpipe.so" at build completion.
v2:
Remove autotools files (Eric)
v3:
Update the patch
Reported-by: Ken Mays <[email protected]>
Tested-by: Ken Mays <[email protected]>
CC: [email protected]
Reviewed-by: Alexander von Gluck IV <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r-- | src/gallium/state_trackers/hgl/hgl.c | 10 | ||||
-rw-r--r-- | src/gallium/state_trackers/hgl/hgl_context.h | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/gallium/state_trackers/hgl/hgl.c b/src/gallium/state_trackers/hgl/hgl.c index 57e0e7695c8..ac659a4f69a 100644 --- a/src/gallium/state_trackers/hgl/hgl.c +++ b/src/gallium/state_trackers/hgl/hgl.c @@ -44,7 +44,8 @@ hgl_st_context(struct st_context_iface *stctxi) // Perform a safe void to hgl_buffer cast -static inline struct hgl_buffer* +//static inline struct hgl_buffer* +struct hgl_buffer* hgl_st_framebuffer(struct st_framebuffer_iface *stfbi) { struct hgl_buffer* buffer; @@ -62,7 +63,9 @@ hgl_st_framebuffer_flush_front(struct st_context_iface *stctxi, CALLED(); //struct hgl_context* context = hgl_st_context(stctxi); - //struct hgl_buffer* buffer = hgl_st_context(stfbi); + // struct hgl_buffer* buffer = hgl_st_context(stfbi); + struct hgl_buffer* buffer = hgl_st_framebuffer(stfbi); + //buffer->surface #if 0 struct stw_st_framebuffer *stwfb = stw_st_framebuffer(stfb); @@ -281,7 +284,8 @@ hgl_create_st_manager(struct hgl_context* context) //manager->display = dpy; manager->screen = context->screen; manager->get_param = hgl_st_manager_get_param; - + manager->st_manager_private = (void *)context; + return manager; } diff --git a/src/gallium/state_trackers/hgl/hgl_context.h b/src/gallium/state_trackers/hgl/hgl_context.h index 5acb2f08db1..c5995f1cd2b 100644 --- a/src/gallium/state_trackers/hgl/hgl_context.h +++ b/src/gallium/state_trackers/hgl/hgl_context.h @@ -39,6 +39,8 @@ struct hgl_buffer unsigned mask; struct pipe_screen* screen; + struct pipe_surface* surface; + enum pipe_texture_target target; struct pipe_resource* textures[ST_ATTACHMENT_COUNT]; @@ -80,6 +82,8 @@ struct hgl_context struct hgl_buffer* read; }; +// hgl_buffer from statetracker interface +struct hgl_buffer* hgl_st_framebuffer(struct st_framebuffer_iface *stfbi); // hgl state_tracker api struct st_api* hgl_create_st_api(void); |