swr: automake: silence the python invocation
[mesa.git] / src / gallium / drivers / freedreno / freedreno_screen.h
index dbc2808262acabfa7b548d1fdd90928751d1287f..a81c77863902c8e051a036e0eb9c8f87cfb02967 100644 (file)
@@ -42,10 +42,21 @@ struct fd_bo;
 struct fd_screen {
        struct pipe_screen base;
 
+       /* it would be tempting to use pipe_reference here, but that
+        * really doesn't work well if it isn't the first member of
+        * the struct, so not quite so awesome to be adding refcnting
+        * further down the inheritance hierarchy:
+        */
+       int refcnt;
+
+       /* place for winsys to stash it's own stuff: */
+       void *winsys_priv;
+
        uint32_t gmemsize_bytes;
        uint32_t device_id;
        uint32_t gpu_id;         /* 220, 305, etc */
        uint32_t chip_id;        /* coreid:8 majorrev:8 minorrev:8 patch:8 */
+       uint32_t max_freq;
        uint32_t max_rts;        /* max # of render targets */
 
        void *compiler;          /* currently unused for a2xx */
@@ -56,7 +67,7 @@ struct fd_screen {
        int64_t cpu_gpu_time_delta;
 };
 
-static INLINE struct fd_screen *
+static inline struct fd_screen *
 fd_screen(struct pipe_screen *pscreen)
 {
        return (struct fd_screen *)pscreen;
@@ -73,6 +84,7 @@ struct fd_bo * fd_screen_bo_from_handle(struct pipe_screen *pscreen,
 struct pipe_screen * fd_screen_create(struct fd_device *dev);
 
 /* is a3xx patch revision 0? */
+/* TODO a306.0 probably doesn't need this.. be more clever?? */
 static inline boolean
 is_a3xx_p0(struct fd_screen *screen)
 {
@@ -91,4 +103,11 @@ is_a4xx(struct fd_screen *screen)
        return (screen->gpu_id >= 400) && (screen->gpu_id < 500);
 }
 
+/* is it using the ir3 compiler (shader isa introduced with a3xx)? */
+static inline boolean
+is_ir3(struct fd_screen *screen)
+{
+       return is_a3xx(screen) || is_a4xx(screen);
+}
+
 #endif /* FREEDRENO_SCREEN_H_ */