/* Gallium context */
struct pipe_context base;
+ /* Compiler context */
+ struct midgard_screen compiler;
+
/* Bound job and map of panfrost_job_key to jobs */
struct panfrost_job *job;
struct hash_table *jobs;
struct panfrost_memory shaders;
struct panfrost_memory scratchpad;
struct panfrost_memory tiler_heap;
- struct panfrost_memory varying_mem;
struct panfrost_memory tiler_polygon_list;
struct panfrost_memory tiler_dummy;
struct panfrost_memory depth_stencil_buffer;
union mali_attr attributes[PIPE_MAX_ATTRIBS];
- unsigned varying_height;
-
struct mali_single_framebuffer vt_framebuffer_sfbd;
struct bifrost_framebuffer vt_framebuffer_mfbd;
/* True for t6XX, false for t8xx. */
bool is_t6xx;
- /* If set, we'll require the use of single render-target framebuffer
- * descriptors (SFBD), for older hardware -- specifically, <T760 hardware, If
- * false, we'll use the MFBD no matter what. New hardware -does- retain support
- * for SFBD, and in theory we could flip between them on a per-RT basis, but
- * there's no real advantage to doing so */
- bool require_sfbd;
-
uint32_t out_sync;
};
struct panfrost_sampler_view {
struct pipe_sampler_view base;
struct mali_texture_descriptor hw;
+ bool manual_stride;
};
static inline struct panfrost_context *