#define RENDERONLY_H
#include <stdint.h>
-#include "state_tracker/drm_driver.h"
+#include "frontend/drm_driver.h"
#include "pipe/p_state.h"
struct renderonly_scanout {
uint32_t handle;
uint32_t stride;
-
- struct pipe_resource *prime;
};
struct renderonly {
* to be done in flush_resource(..) like a resolve to linear.
*/
struct renderonly_scanout *(*create_for_resource)(struct pipe_resource *rsc,
- struct renderonly *ro);
+ struct renderonly *ro,
+ struct winsys_handle *out_handle);
int kms_fd;
int gpu_fd;
};
renderonly_dup(const struct renderonly *ro);
static inline struct renderonly_scanout *
-renderonly_scanout_for_resource(struct pipe_resource *rsc, struct renderonly *ro)
+renderonly_scanout_for_resource(struct pipe_resource *rsc,
+ struct renderonly *ro,
+ struct winsys_handle *out_handle)
{
- return ro->create_for_resource(rsc, ro);
+ return ro->create_for_resource(rsc, ro, out_handle);
}
-struct renderonly_scanout *
-renderonly_scanout_for_prime(struct pipe_resource *rsc, struct renderonly *ro);
-
void
renderonly_scanout_destroy(struct renderonly_scanout *scanout,
struct renderonly *ro);
if (!scanout)
return FALSE;
- assert(handle->type == DRM_API_HANDLE_TYPE_KMS);
+ assert(handle->type == WINSYS_HANDLE_TYPE_KMS);
handle->handle = scanout->handle;
handle->stride = scanout->stride;
*/
struct renderonly_scanout *
renderonly_create_kms_dumb_buffer_for_resource(struct pipe_resource *rsc,
- struct renderonly *ro);
+ struct renderonly *ro,
+ struct winsys_handle *out_handle);
/**
* Import GPU resource into scanout hw.
*/
struct renderonly_scanout *
renderonly_create_gpu_import_for_resource(struct pipe_resource *rsc,
- struct renderonly *ro);
+ struct renderonly *ro,
+ struct winsys_handle *out_handle);
#endif /* RENDERONLY_H_ */