diff options
Diffstat (limited to 'lib/mesa/src/gallium/drivers/freedreno/freedreno_screen.h')
-rw-r--r-- | lib/mesa/src/gallium/drivers/freedreno/freedreno_screen.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/mesa/src/gallium/drivers/freedreno/freedreno_screen.h b/lib/mesa/src/gallium/drivers/freedreno/freedreno_screen.h index c8a814ecc..48ec88121 100644 --- a/lib/mesa/src/gallium/drivers/freedreno/freedreno_screen.h +++ b/lib/mesa/src/gallium/drivers/freedreno/freedreno_screen.h @@ -129,6 +129,8 @@ struct fd_screen { unsigned (*tile_mode)(const struct pipe_resource *prsc); int (*layout_resource_for_modifier)(struct fd_resource *rsc, uint64_t modifier); + bool (*is_format_supported)(struct pipe_screen *pscreen, + enum pipe_format fmt, uint64_t modifier); /* indirect-branch emit: */ void (*emit_ib)(struct fd_ringbuffer *ring, struct fd_ringbuffer *target); @@ -160,7 +162,7 @@ struct fd_screen { #define FD6_TESS_BO_SIZE (FD6_TESS_FACTOR_SIZE + FD6_TESS_PARAM_SIZE) struct fd_bo *tess_bo; - /* table with PIPE_PRIM_MAX+1 entries mapping PIPE_PRIM_x to + /* table with MESA_PRIM_COUNT+1 entries mapping MESA_PRIM_x to * DI_PT_x value to use for draw initiator. There are some * slight differences between generation. * @@ -213,13 +215,13 @@ struct pipe_screen *fd_screen_create(int fd, const struct pipe_screen_config *config, struct renderonly *ro); -static inline boolean +static inline bool is_a20x(struct fd_screen *screen) { return (screen->gpu_id >= 200) && (screen->gpu_id < 210); } -static inline boolean +static inline bool is_a2xx(struct fd_screen *screen) { return screen->gen == 2; @@ -227,38 +229,38 @@ is_a2xx(struct fd_screen *screen) /* is a3xx patch revision 0? */ /* TODO a306.0 probably doesn't need this.. be more clever?? */ -static inline boolean +static inline bool is_a3xx_p0(struct fd_screen *screen) { return (screen->chip_id & 0xff0000ff) == 0x03000000; } -static inline boolean +static inline bool is_a3xx(struct fd_screen *screen) { return screen->gen == 3; } -static inline boolean +static inline bool is_a4xx(struct fd_screen *screen) { return screen->gen == 4; } -static inline boolean +static inline bool is_a5xx(struct fd_screen *screen) { return screen->gen == 5; } -static inline boolean +static inline bool is_a6xx(struct fd_screen *screen) { return screen->gen == 6; } /* is it using the ir3 compiler (shader isa introduced with a3xx)? */ -static inline boolean +static inline bool is_ir3(struct fd_screen *screen) { return is_a3xx(screen) || is_a4xx(screen) || is_a5xx(screen) || |