radeonsi: use shader_info::cs::local_size_variable to clean up some code
[mesa.git] / src / gallium / drivers / v3d / v3d_screen.h
index 4d30ef30bce347e82cf45b1f0459ef91a1c0d353..586b3925065c9bc24f70c693b10c781cd0ae076a 100644 (file)
@@ -25,8 +25,9 @@
 #define VC5_SCREEN_H
 
 #include "pipe/p_screen.h"
+#include "renderonly/renderonly.h"
 #include "os/os_thread.h"
-#include "state_tracker/drm_driver.h"
+#include "frontend/drm_driver.h"
 #include "util/list.h"
 #include "util/slab.h"
 #include "broadcom/common/v3d_debug.h"
 
 struct v3d_bo;
 
-#define VC5_MAX_MIP_LEVELS 12
-#define VC5_MAX_TEXTURE_SAMPLERS 32
-#define VC5_MAX_SAMPLES 4
-#define VC5_MAX_DRAW_BUFFERS 4
-#define VC5_MAX_ATTRIBUTES 16
-
 /* These are tunable parameters in the HW design, but all the V3D
  * implementations agree.
  */
@@ -55,6 +50,7 @@ struct v3d_simulator_file;
 
 struct v3d_screen {
         struct pipe_screen base;
+        struct renderonly *ro;
         int fd;
 
         struct v3d_device_info devinfo;
@@ -75,12 +71,16 @@ struct v3d_screen {
 
         const struct v3d_compiler *compiler;
 
-        struct util_hash_table *bo_handles;
+        struct hash_table *bo_handles;
         mtx_t bo_handles_mutex;
 
         uint32_t bo_size;
         uint32_t bo_count;
 
+        bool has_csd;
+        bool has_cache_flush;
+        bool nonmsaa_texture_size_limit;
+
         struct v3d_simulator_file *sim_file;
 };
 
@@ -90,7 +90,9 @@ v3d_screen(struct pipe_screen *screen)
         return (struct v3d_screen *)screen;
 }
 
-struct pipe_screen *v3d_screen_create(int fd);
+struct pipe_screen *v3d_screen_create(int fd,
+                                      const struct pipe_screen_config *config,
+                                      struct renderonly *ro);
 
 void
 v3d_fence_init(struct v3d_screen *screen);