radeonsi: use shader_info::cs::local_size_variable to clean up some code
[mesa.git] / src / gallium / drivers / v3d / v3d_screen.h
index 6cb33429067fc0c539a669d0d4767cbb6036dd81..586b3925065c9bc24f70c693b10c781cd0ae076a 100644 (file)
@@ -27,7 +27,7 @@
 #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.
  */
@@ -77,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;
 };
 
@@ -92,7 +90,9 @@ v3d_screen(struct pipe_screen *screen)
         return (struct v3d_screen *)screen;
 }
 
-struct pipe_screen *v3d_screen_create(int fd, struct renderonly *ro);
+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);