const struct brw_compiler *compiler;
- bool (*lookup_shader)(struct blorp_context *blorp,
+ bool (*lookup_shader)(struct blorp_batch *batch,
const void *key, uint32_t key_size,
uint32_t *kernel_out, void *prog_data_out);
- bool (*upload_shader)(struct blorp_context *blorp,
+ bool (*upload_shader)(struct blorp_batch *batch,
const void *key, uint32_t key_size,
const void *kernel, uint32_t kernel_size,
const struct brw_stage_prog_data *prog_data,
struct blorp_address {
void *buffer;
+ uint64_t offset;
unsigned reloc_flags;
- uint32_t offset;
uint32_t mocs;
};
* that it contains a swizzle of RGBA and resource min LOD of 0.
*/
struct blorp_address clear_color_addr;
+
+ /* Only allowed for simple 2D non-MSAA surfaces */
+ uint32_t tile_x_sa, tile_y_sa;
+};
+
+enum blorp_filter {
+ BLORP_FILTER_NONE,
+ BLORP_FILTER_NEAREST,
+ BLORP_FILTER_BILINEAR,
+ BLORP_FILTER_SAMPLE_0,
+ BLORP_FILTER_AVERAGE,
+ BLORP_FILTER_MIN_SAMPLE,
+ BLORP_FILTER_MAX_SAMPLE,
};
void
float src_x1, float src_y1,
float dst_x0, float dst_y0,
float dst_x1, float dst_y1,
- uint32_t filter, bool mirror_x, bool mirror_y);
+ enum blorp_filter filter,
+ bool mirror_x, bool mirror_y);
void
blorp_copy(struct blorp_batch *batch,
struct blorp_address dst,
uint64_t size);
+union isl_color_value
+swizzle_color_value(union isl_color_value src, struct isl_swizzle swizzle);
+
void
blorp_fast_clear(struct blorp_batch *batch,
const struct blorp_surf *surf, enum isl_format format,