diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-04-18 12:04:39 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-04-18 12:04:39 +0100 |
commit | 2d01b3d133c0fbf17de8d7b47905585af88bd6e4 (patch) | |
tree | f74eb9a3d16ed25f8c15b825f4d28b759ae99a42 /media-libs/raspberrypi-userland | |
parent | 97bacba3ead078e5db8b87ab651a3ffa7d82f60f (diff) |
gentoo auto-resync : 18:04:2024 - 12:04:39
Diffstat (limited to 'media-libs/raspberrypi-userland')
-rw-r--r-- | media-libs/raspberrypi-userland/Manifest | 5 | ||||
-rw-r--r-- | media-libs/raspberrypi-userland/files/04raspberrypi-userland | 3 | ||||
-rw-r--r-- | media-libs/raspberrypi-userland/files/bcm_host.pc | 10 | ||||
-rw-r--r-- | media-libs/raspberrypi-userland/files/egl.pc | 11 | ||||
-rw-r--r-- | media-libs/raspberrypi-userland/files/glesv2.pc | 11 | ||||
-rw-r--r-- | media-libs/raspberrypi-userland/files/next-resource-handle.patch | 207 |
6 files changed, 0 insertions, 247 deletions
diff --git a/media-libs/raspberrypi-userland/Manifest b/media-libs/raspberrypi-userland/Manifest index a1829b5a312f..0f9d08c2c3fe 100644 --- a/media-libs/raspberrypi-userland/Manifest +++ b/media-libs/raspberrypi-userland/Manifest @@ -1,9 +1,4 @@ -AUX 04raspberrypi-userland 80 BLAKE2B cf3b819e4cd50f50b9efaf95c654567f607e0bc36e341ec705ebe449f99817bbb39d166013e60de8705024cb6f56cb6ba18e33f4417c5607a058147f7777cc1b SHA512 fc934a7aa367dcd787c9158d07f59866b8e04034928303a949b2c4fa45577afcc0b31c5a3e7b08defcfc040e601a51728fc5ccd9a6c0dd60e2c1cb2fd00107d9 AUX 92-local-vchiq-permissions.rules 142 BLAKE2B 962d9eb744717cf7a685fb7ab8a0e68f964a3ca7c0d49d2b93102d66bb3d20d84a433097fc7b510f609b8b762ae0f7ede32954b9c2ec055d5dbaa4d07b06af81 SHA512 b0e430adf65ccde1c3199c59e876293ffa1821a70f7d60057bb4990108fe21604e6d8c11dbdd74de50ad1fd5fad5e579ad35fb172a62ccef26bd2ff9bed5aba4 -AUX bcm_host.pc 338 BLAKE2B 2afdd23a6b200a04650c4ea0b669b14e4f6aac9f2fbcbc77a606615cd17b9a4651b4bba8d367ea7dfc1366873cdc9aef41baae5723f610b462ee58fbc3e3e7cc SHA512 d13ebe21288fc8cb29643a3564415006899490334c8a2d4601632d5a7b681e1f1ee97cc7b8d6b8840b28432dc8dd0b090e0c592dc07c99e3cc72ad9fbce0933b -AUX egl.pc 227 BLAKE2B e3b205358a0891f58d95fbd0494e6d6a07c550363b60373c0f3b14686b5c3967dfa7e76fb2a65ca703c770f7bd9e5ba2232e1932ebebdd799fb99555afa55402 SHA512 15e2cdf73be35640a951a7e841963902bb056d96025b52c1551359ec7671baf710699c642a08a5543d52d27f424d900e2fd1d584976a056a54a20116b59a21f6 -AUX glesv2.pc 230 BLAKE2B eb3405f7e867b7e8d1ecde9498ac396c11931dac0bb03ae1e78a3bb6ed376b468917ed6363f08341934f1b97ed3df00bfc9c0af22e6e5aa7c91def517df586e7 SHA512 a821afcf22d52ea48b4b94b3f4317553bed2ed2e1aadee2862b4d925ee3c78cc0d3a023c62842758de5c2b168dfc8b1ba6838ccb9b0749aef9fc782aa33fa8ec -AUX next-resource-handle.patch 12535 BLAKE2B b7dbf4152f92ce7bbbf9d2b8b72fddc8cf2f32e576b2d8096b0b17ac89a4cc8ab2cfd0e11137b8da3b2c7b7414d02855a14e1dbffd77d26e087989184ab88001 SHA512 f0368ffff54f989f2541f1891fe3b244d9ff4f2fc464adf2387c04045aca2f1e1f35622d2bd6c6d42e9581c45c417d1961e235b063d892b17e7dbe3e4724f5c5 AUX raspberrypi-userland-include.patch 1484 BLAKE2B 7563874b54b168bd4858ecb65112ef48a7e010feae7a68c22f6d3f47dc1b855222df124df808fd6be427fea5763a9afd4c55ae2e3223c7bd55aa95333e55fe88 SHA512 fe73bcd1182b36e8ccaf81f0d7717f299a482545f08b352af8ead80f134a7be0f5269adb6972a1979a390046b9b94cab55c7a50a493740c72c5084e0e4995baf AUX raspberrypi-userland-libdir.patch 12348 BLAKE2B ed0dcc454b13589244204cf2cb26d9e38b75887c2d4d1ec4db02e7d4a206661f0ae4fc9d06467e353310a6b69f49a72a53b2882acab6a3959d57c7c0d34434b5 SHA512 213f04d859a0134143cf0e98650ed69096934c1600577d28bb24d62272f9da7ca12d0f3b59a19d3ff06a5fc67547f8e5a8684738b534bfa6e429722b320fee9f AUX raspberrypi-userland-libfdt-static.patch 724 BLAKE2B 1e2901c69d9bf855c1db9e7f5776041d9d83e9e3025a31ab54fa136bfd67dd944ed631017de33ef15a948324b1392711fb2535b65fea4e4d5a59177b866114ea SHA512 1841061596a98157d7ed25f358e5d63d78f7f808f777b909c271c0b4aa9b45c4dfa498d5623bc53466d9b81e5c064ae45423910d180816b7e39563cedb1809d8 diff --git a/media-libs/raspberrypi-userland/files/04raspberrypi-userland b/media-libs/raspberrypi-userland/files/04raspberrypi-userland deleted file mode 100644 index 17b493b1814e..000000000000 --- a/media-libs/raspberrypi-userland/files/04raspberrypi-userland +++ /dev/null @@ -1,3 +0,0 @@ -PKG_CONFIG_PATH='/opt/vc/lib/pkgconfig' -PATH='/opt/vc/bin' -LDPATH='/opt/vc/lib' diff --git a/media-libs/raspberrypi-userland/files/bcm_host.pc b/media-libs/raspberrypi-userland/files/bcm_host.pc deleted file mode 100644 index 7627ae87105b..000000000000 --- a/media-libs/raspberrypi-userland/files/bcm_host.pc +++ /dev/null @@ -1,10 +0,0 @@ -prefix=/opt/vc -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: bcm_host -Description: Broadcom VideoCore host API library -Version: 1 -Libs: -L${libdir} -lbcm_host -lvcos -lvchiq_arm -Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM diff --git a/media-libs/raspberrypi-userland/files/egl.pc b/media-libs/raspberrypi-userland/files/egl.pc deleted file mode 100644 index 56bf1e07e93b..000000000000 --- a/media-libs/raspberrypi-userland/files/egl.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/opt/vc -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: EGL -Description: Fake EGL package for RPi -Version: 10 -Requires: bcm_host glesv2 -Libs: -L${libdir} -lEGL -Cflags: -I${includedir} diff --git a/media-libs/raspberrypi-userland/files/glesv2.pc b/media-libs/raspberrypi-userland/files/glesv2.pc deleted file mode 100644 index 04d61c21cea3..000000000000 --- a/media-libs/raspberrypi-userland/files/glesv2.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/opt/vc -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: GLESv2 -Description: Fake GL ES 2 package for RPi -Version: 10 -Requires: bcm_host -Libs: -L${libdir} -lGLESv2 -Cflags: -I${includedir} diff --git a/media-libs/raspberrypi-userland/files/next-resource-handle.patch b/media-libs/raspberrypi-userland/files/next-resource-handle.patch deleted file mode 100644 index 45e1a494b2c8..000000000000 --- a/media-libs/raspberrypi-userland/files/next-resource-handle.patch +++ /dev/null @@ -1,207 +0,0 @@ -From 825c3236e5908ff003644abd870bfe98e82722b2 Mon Sep 17 00:00:00 2001 -From: Dom Cobley <dc4@broadcom.com> -Date: Tue, 9 Jul 2013 09:26:26 -0400 -Subject: [PATCH] Allow applications to set next resource handle - -This patch adds provisions in userland to -let apps callers set the next rendereing dispmanx resource. -It's useful for implementing, say, a buffer carousel. ---- - interface/khronos/common/khrn_client_rpc.h | 2 ++ - interface/khronos/common/khrn_int_ids.h | 2 ++ - interface/khronos/egl/egl_client.c | 30 +++++++++++++++++++++++++++--- - interface/khronos/egl/egl_client_surface.c | 24 +++++++++++++++++++++++- - interface/khronos/egl/egl_client_surface.h | 3 ++- - interface/khronos/egl/egl_int_impl.h | 5 +++-- - 6 files changed, 59 insertions(+), 7 deletions(-) - -diff --git a/interface/khronos/common/khrn_client_rpc.h b/interface/khronos/common/khrn_client_rpc.h -index 418aa67..a7557a8 100644 ---- a/interface/khronos/common/khrn_client_rpc.h -+++ b/interface/khronos/common/khrn_client_rpc.h -@@ -683,6 +683,7 @@ static INLINE void rpc_call18(CLIENT_THREAD_STATE_T *thread, uint32_t id, uint32 - static INLINE void rpc_call13_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); } - static INLINE void rpc_call14_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); } - static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); } -+static INLINE void rpc_call16_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, uint32_t p14, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); } - #endif - - #define RPC_CALL1_OUT_CTRL(fn, thread, id, out) rpc_call1_out_ctrl(thread, id, out) -@@ -700,6 +701,7 @@ static INLINE void rpc_call18(CLIENT_THREAD_STATE_T *thread, uint32_t id, uint32 - #define RPC_CALL13_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out) rpc_call13_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out) - #define RPC_CALL14_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out) rpc_call14_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out) - #define RPC_CALL15_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out) rpc_call15_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out) -+#define RPC_CALL16_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, out) rpc_call16_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, out) - - # if !defined(__SYMBIAN32__) //use functions defined in khrpc.cpp - static INLINE uint32_t rpc_call1_out_ctrl_res(CLIENT_THREAD_STATE_T *thread,uint32_t id, void *out) { uint32_t res; rpc_begin(thread); RPC_CALL(thread, id); res = rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_RES | RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); return res; } -diff --git a/interface/khronos/common/khrn_int_ids.h b/interface/khronos/common/khrn_int_ids.h -index 8378f4a..ec961e0 100644 ---- a/interface/khronos/common/khrn_int_ids.h -+++ b/interface/khronos/common/khrn_int_ids.h -@@ -367,6 +367,7 @@ - */ - - #define EGLINTCREATESURFACE_ID 0x4000 -+#define EGLINTCREATESURFACE_ID_V2 0x4100 - #define EGLINTCREATEGLES11_ID 0x4001 - #define EGLINTCREATEGLES20_ID 0x4002 - #define EGLINTCREATEVG_ID 0x4003 -@@ -377,6 +378,7 @@ - #define EGLINTMAKECURRENT_ID 0x4008 - #define EGLINTFLUSHANDWAIT_ID 0x4009 - #define EGLINTSWAPBUFFERS_ID 0x400a -+#define EGLINTSWAPBUFFERS_ID_V2 0x410a - #define EGLINTSELECTMIPMAP_ID 0x400b - #define EGLINTFLUSH_ID 0x400c - #define EGLINTGETCOLORDATA_ID 0x400d -diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c -index fd07eb6..e902d19 100644 ---- a/interface/khronos/egl/egl_client.c -+++ b/interface/khronos/egl/egl_client.c -@@ -162,6 +162,17 @@ - void egl_gl_flush_callback(bool wait); - void egl_vg_flush_callback(bool wait); - -+#include "interface/vmcs_host/vc_dispmanx_types.h" -+/**HACKHACK - give us the ability to inject a DispmanX -+ * resource handle into the CreateWindowSurface and -+ * SwapBuffers calls */ -+static DISPMANX_RESOURCE_HANDLE_T next_resource_handle; -+ -+EGLAPI EGLBoolean EGLAPIENTRY eglSetNextResourceHandle(DISPMANX_RESOURCE_HANDLE_T handle) -+{ -+ next_resource_handle = handle; -+} -+ - /* - TODO: do an RPC call to make sure the Khronos vll is loaded (and that it stays loaded until eglTerminate) - Also affects global image (and possibly others?) -@@ -643,7 +654,8 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig c - false, - EGL_NO_TEXTURE, - EGL_NO_TEXTURE, -- 0, 0); -+ 0, 0, -+ next_resource_handle); - - if (surface) { - if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) { -@@ -888,7 +900,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig - mipmap_texture, - texture_format, - texture_target, -- 0, 0); -+ 0, 0, 0); - - if (surface) { - if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) { -@@ -1030,7 +1042,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig c - false, - EGL_NO_TEXTURE, - EGL_NO_TEXTURE, -- pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle); -+ pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle, 0); - - if (surface) { - if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) { -@@ -2302,6 +2314,18 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf) - - vcos_log_trace("eglSwapBuffers server call"); - -+ if (next_resource_handle) -+ RPC_CALL7(eglIntSwapBuffers_impl, -+ thread, -+ EGLINTSWAPBUFFERS_ID_V2, -+ RPC_UINT(surface->serverbuffer), -+ RPC_UINT(surface->width), -+ RPC_UINT(surface->height), -+ RPC_UINT(surface->internal_handle), -+ RPC_UINT(surface->swap_behavior == EGL_BUFFER_PRESERVED ? 1 : 0), -+ RPC_UINT(khrn_platform_get_window_position(surface->win)), -+ RPC_INT(next_resource_handle)); -+ else - RPC_CALL6(eglIntSwapBuffers_impl, - thread, - EGLINTSWAPBUFFERS_ID, -diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c -index cda5943..0be56c5 100644 ---- a/interface/khronos/egl/egl_client_surface.c -+++ b/interface/khronos/egl/egl_client_surface.c -@@ -314,7 +314,8 @@ EGL_SURFACE_T *egl_surface_create( - EGLenum texture_format, - EGLenum texture_target, - EGLNativePixmapType pixmap, -- const uint32_t *pixmap_server_handle) -+ const uint32_t *pixmap_server_handle, -+ DISPMANX_RESOURCE_HANDLE_T next_resource_handle) - { - KHRN_IMAGE_FORMAT_T color; - KHRN_IMAGE_FORMAT_T depth; -@@ -473,6 +474,27 @@ EGL_SURFACE_T *egl_surface_create( - #endif - uint32_t results[3]; - -+ if (next_resource_handle) -+ RPC_CALL16_OUT_CTRL(eglIntCreateSurface_impl, -+ thread, -+ EGLINTCREATESURFACE_ID_V2, -+ RPC_UINT(serverwin), -+ RPC_UINT(buffers), -+ RPC_UINT(width), -+ RPC_UINT(height), -+ RPC_UINT(color), -+ RPC_UINT(depth), -+ RPC_UINT(mask), -+ RPC_UINT(multi), -+ RPC_UINT(largest_pbuffer), -+ RPC_UINT(mipmap_texture), -+ RPC_UINT(config_depth_bits), -+ RPC_UINT(config_stencil_bits), -+ RPC_UINT(sem_name), -+ RPC_UINT(type), -+ RPC_INT(next_resource_handle), -+ results); -+ else - RPC_CALL15_OUT_CTRL(eglIntCreateSurface_impl, - thread, - EGLINTCREATESURFACE_ID, -diff --git a/interface/khronos/egl/egl_client_surface.h b/interface/khronos/egl/egl_client_surface.h -index c99d44c..b5bf70a 100644 ---- a/interface/khronos/egl/egl_client_surface.h -+++ b/interface/khronos/egl/egl_client_surface.h -@@ -322,7 +322,8 @@ extern EGL_SURFACE_T *egl_surface_create( - EGLenum texture_format, - EGLenum texture_target, - EGLNativePixmapType pixmap, -- const uint32_t *pixmap_server_handle); -+ const uint32_t *pixmap_server_handle, -+ DISPMANX_RESOURCE_HANDLE_T next_resource_handle); - extern EGL_SURFACE_T *egl_surface_from_vg_image( - VGImage vg_handle, - EGLSurface name, -diff --git a/interface/khronos/egl/egl_int_impl.h b/interface/khronos/egl/egl_int_impl.h -index 8a5734c..51b3580 100644 ---- a/interface/khronos/egl/egl_int_impl.h -+++ b/interface/khronos/egl/egl_int_impl.h -@@ -56,7 +56,8 @@ - uint32_t config_stencil_bits, - uint32_t sem, - uint32_t type, -- uint32_t *results)) -+ uint32_t *results, -+ DISPMANX_RESOURCE_HANDLE_T next_resource_handle)) - - FN(int, eglIntCreatePbufferFromVGImage_impl, ( - VGImage vg_handle, -@@ -110,7 +111,7 @@ - FN(int, eglIntFlushAndWait_impl, (uint32_t flushgl, uint32_t flushvg)) - FN(void, eglIntFlush_impl, (uint32_t flushgl, uint32_t flushvg)) - --FN(void, eglIntSwapBuffers_impl, (EGL_SURFACE_ID_T s, uint32_t width, uint32_t height, uint32_t handle, uint32_t preserve, uint32_t position)) -+FN(void, eglIntSwapBuffers_impl, (EGL_SURFACE_ID_T s, uint32_t width, uint32_t height, uint32_t handle, uint32_t preserve, uint32_t position, DISPMANX_RESOURCE_HANDLE_T new_back_buffer)) - FN(void, eglIntSelectMipmap_impl, (EGL_SURFACE_ID_T s, int level)) - - FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data)) --- -1.8.5.1 |