#define H_ETNAVIV_SCREEN
#include "etnaviv_internal.h"
+#include "etnaviv_query_pm.h"
#include "os/os_thread.h"
#include "pipe/p_screen.h"
#include "renderonly/renderonly.h"
+#include "util/set.h"
#include "util/slab.h"
+#include "util/u_dynarray.h"
+#include "util/u_helpers.h"
struct etna_bo;
viv_chipMinorFeatures3 = 4,
viv_chipMinorFeatures4 = 5,
viv_chipMinorFeatures5 = 6,
+ viv_chipMinorFeatures6 = 7,
VIV_FEATURES_WORD_COUNT /* Must be last */
};
struct etna_device *dev;
struct etna_gpu *gpu;
struct etna_pipe *pipe;
+ struct etna_perfmon *perfmon;
struct renderonly *ro;
+ struct util_dynarray supported_pm_queries;
struct slab_parent_pool transfer_pool;
uint32_t model;
struct etna_specs specs;
uint32_t drm_version;
+
+ /* set of resources used by currently-unsubmitted renders */
+ mtx_t lock;
+ struct set *used_resources;
};
static inline struct etna_screen *
return (struct etna_screen *)pscreen;
}
-boolean
-etna_screen_bo_get_handle(struct pipe_screen *pscreen, struct etna_bo *bo,
- unsigned stride, struct winsys_handle *whandle);
-
struct etna_bo *
etna_screen_bo_from_handle(struct pipe_screen *pscreen,
struct winsys_handle *whandle, unsigned *out_stride);