#define VC4_SCREEN_H
#include "pipe/p_screen.h"
+#include "renderonly/renderonly.h"
#include "os/os_thread.h"
#include "state_tracker/drm_driver.h"
#include "util/list.h"
#define VC4_DEBUG_ALWAYS_SYNC 0x0100
#define VC4_DEBUG_NIR 0x0200
#define VC4_DEBUG_DUMP 0x0400
+#define VC4_DEBUG_SURFACE 0x0800
#define VC4_MAX_MIP_LEVELS 12
#define VC4_MAX_TEXTURE_SAMPLERS 16
struct vc4_screen {
struct pipe_screen base;
+ struct renderonly *ro;
+
int fd;
int v3d_ver;
bool has_control_flow;
bool has_etc1;
bool has_threaded_fs;
+ bool has_madvise;
+ bool has_tiling_ioctl;
+ bool has_perfmon_ioctl;
+ bool has_syncobj;
struct vc4_simulator_file *sim_file;
};
return (struct vc4_screen *)screen;
}
-struct pipe_screen *vc4_screen_create(int fd);
+struct pipe_screen *vc4_screen_create(int fd, struct renderonly *ro);
const void *
vc4_screen_get_compiler_options(struct pipe_screen *pscreen,
extern uint32_t vc4_debug;
void
-vc4_fence_init(struct vc4_screen *screen);
+vc4_fence_screen_init(struct vc4_screen *screen);
struct vc4_fence *
-vc4_fence_create(struct vc4_screen *screen, uint64_t seqno);
+vc4_fence_create(struct vc4_screen *screen, uint64_t seqno, int fd);
#endif /* VC4_SCREEN_H */