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;
};
BLORP_FILTER_BILINEAR,
BLORP_FILTER_SAMPLE_0,
BLORP_FILTER_AVERAGE,
+ BLORP_FILTER_MIN_SAMPLE,
+ BLORP_FILTER_MAX_SAMPLE,
};
void
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,
bool clear_depth, float depth_value,
uint8_t stencil_mask, uint8_t stencil_value);
bool
-blorp_can_hiz_clear_depth(uint8_t gen, enum isl_format format,
- uint32_t num_samples,
- uint32_t x0, uint32_t y0,
- uint32_t x1, uint32_t y1);
+blorp_can_hiz_clear_depth(const struct gen_device_info *devinfo,
+ const struct isl_surf *surf,
+ enum isl_aux_usage aux_usage,
+ uint32_t level, uint32_t layer,
+ uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1);
void
blorp_hiz_clear_depth_stencil(struct blorp_batch *batch,
const struct blorp_surf *depth,
uint32_t level, uint32_t start_layer, uint32_t num_layers,
enum isl_aux_op op);
+void
+blorp_hiz_stencil_op(struct blorp_batch *batch, struct blorp_surf *stencil,
+ uint32_t level, uint32_t start_layer,
+ uint32_t num_layers, enum isl_aux_op op);
#ifdef __cplusplus
} /* end extern "C" */
#endif /* __cplusplus */