Revert "r300g: rebuild winsys/pipe buffer handling and add buffer map"
[mesa.git] / src / gallium / winsys / drm / radeon / core / radeon_buffer.h
index 8e0274e33d52aaed39cf282f1d26c87d382ba814..f1c8fc2a3b13f4b67edf21d781b35e2f5c056847 100644 (file)
 
 #include <stdio.h>
 
+#include "util/u_simple_screen.h"
 #include "pipe/p_defines.h"
 #include "util/u_inlines.h"
 
 #include "pipebuffer/pb_buffer.h"
-#include "pipebuffer/pb_bufmgr.h"
 
 #include "util/u_memory.h"
 
 
 #include "radeon_winsys.h"
 
+struct radeon_pipe_buffer {
+    struct pipe_buffer  base;
+    /* Pointer to GPU-backed BO. */
+    struct radeon_bo    *bo;
+    /* Pointer to fallback PB buffer. */
+    struct pb_buffer    *pb;
+    boolean flinked;
+    uint32_t flink;
+};
 
 #define RADEON_MAX_BOS 24
 
-static INLINE struct pb_buffer *
-radeon_pb_buffer(struct r300_winsys_buffer *buffer)
-{
-    return (struct pb_buffer *)buffer;
-}
+struct radeon_winsys_priv {
+    /* DRM FD */
+    int fd;
 
-static INLINE struct r300_winsys_buffer *
-radeon_libdrm_winsys_buffer(struct pb_buffer *buffer)
-{
-    return (struct r300_winsys_buffer *)buffer;
-}
+    /* Radeon BO manager. */
+    struct radeon_bo_manager* bom;
 
-struct pb_manager *
-radeon_drm_bufmgr_create(struct radeon_libdrm_winsys *rws);
+    /* Radeon CS manager. */
+    struct radeon_cs_manager* csm;
 
-boolean radeon_drm_bufmgr_add_buffer(struct pb_buffer *_buf,
-                                    uint32_t rd, uint32_t wd);
+    /* Current CS. */
+    struct radeon_cs* cs;
 
+    /* Flush CB */
+    void (*flush_cb)(void *);
+    void *flush_data;
+};
 
-void radeon_drm_bufmgr_write_reloc(struct pb_buffer *_buf,
-                                  uint32_t rd, uint32_t wd,
-                                  uint32_t flags);
-
-struct radeon_libdrm_winsys* radeon_pipe_winsys(int fd);
-
-boolean radeon_drm_bufmgr_shared_handle_from_buffer(struct pb_buffer *_buf,
-                                                   uint32_t *handle);
-uint32_t radeon_drm_bufmgr_handle_from_buffer(struct pb_buffer *_buf);
-struct pb_buffer *radeon_drm_bufmgr_create_buffer_from_handle(struct pb_manager *_mgr,
-                                                             uint32_t handle);
-
-void radeon_drm_bufmgr_set_tiling(struct pb_buffer *_buf, boolean microtiled, boolean macrotiled, uint32_t pitch);
-
-void radeon_drm_bufmgr_flush_maps(struct pb_manager *_mgr);
+struct radeon_winsys* radeon_pipe_winsys(int fb);
+#if 0
+struct pipe_surface *radeon_surface_from_handle(struct radeon_context *radeon_context,
+                                             uint32_t handle,
+                                             enum pipe_format format,
+                                             int w, int h, int pitch);
+#endif
 #endif