* IN THE SOFTWARE.
*/
-#pragma once
+#ifndef BRW_BLORP_H
+#define BRW_BLORP_H
-#include "blorp.h"
+#include "blorp/blorp.h"
#include "intel_mipmap_tree.h"
#include "program/prog_instruction.h"
GLenum filter, bool mirror_x, bool mirror_y,
bool decode_srgb, bool encode_srgb);
+void
+brw_blorp_copy_miptrees(struct brw_context *brw,
+ struct intel_mipmap_tree *src_mt,
+ unsigned src_level, unsigned src_logical_layer,
+ struct intel_mipmap_tree *dst_mt,
+ unsigned dst_level, unsigned dst_logical_layer,
+ unsigned src_x, unsigned src_y,
+ unsigned dst_x, unsigned dst_y,
+ unsigned src_width, unsigned src_height);
+
+void
+brw_blorp_copy_buffers(struct brw_context *brw,
+ struct brw_bo *src_bo,
+ unsigned src_offset,
+ struct brw_bo *dst_bo,
+ unsigned dst_offset,
+ unsigned size);
+
+bool
+brw_blorp_upload_miptree(struct brw_context *brw,
+ struct intel_mipmap_tree *dst_mt,
+ mesa_format dst_format,
+ uint32_t level, uint32_t x, uint32_t y, uint32_t z,
+ uint32_t width, uint32_t height, uint32_t depth,
+ GLenum target, GLenum format, GLenum type,
+ const void *pixels,
+ const struct gl_pixelstore_attrib *packing);
+
bool
+brw_blorp_download_miptree(struct brw_context *brw,
+ struct intel_mipmap_tree *src_mt,
+ mesa_format src_format, uint32_t src_swizzle,
+ uint32_t level, uint32_t x, uint32_t y, uint32_t z,
+ uint32_t width, uint32_t height, uint32_t depth,
+ GLenum target, GLenum format, GLenum type,
+ bool y_flip, const void *pixels,
+ const struct gl_pixelstore_attrib *packing);
+
+void
brw_blorp_clear_color(struct brw_context *brw, struct gl_framebuffer *fb,
GLbitfield mask, bool partial_clear, bool encode_srgb);
+void
+brw_blorp_clear_depth_stencil(struct brw_context *brw,
+ struct gl_framebuffer *fb,
+ GLbitfield mask, bool partial_clear);
void
brw_blorp_resolve_color(struct brw_context *brw,
- struct intel_mipmap_tree *mt);
+ struct intel_mipmap_tree *mt,
+ unsigned level, unsigned layer,
+ enum blorp_fast_clear_op resolve_op);
+
+void
+brw_blorp_mcs_partial_resolve(struct brw_context *brw,
+ struct intel_mipmap_tree *mt,
+ uint32_t start_layer, uint32_t num_layers);
void
intel_hiz_exec(struct brw_context *brw, struct intel_mipmap_tree *mt,
- unsigned int level, unsigned int layer, enum gen6_hiz_op op);
+ unsigned int level, unsigned int start_layer,
+ unsigned int num_layers, enum blorp_hiz_op op);
+
+void gen4_blorp_exec(struct blorp_batch *batch,
+ const struct blorp_params *params);
+void gen45_blorp_exec(struct blorp_batch *batch,
+ const struct blorp_params *params);
+void gen5_blorp_exec(struct blorp_batch *batch,
+ const struct blorp_params *params);
+void gen6_blorp_exec(struct blorp_batch *batch,
+ const struct blorp_params *params);
+void gen7_blorp_exec(struct blorp_batch *batch,
+ const struct blorp_params *params);
+void gen75_blorp_exec(struct blorp_batch *batch,
+ const struct blorp_params *params);
+void gen8_blorp_exec(struct blorp_batch *batch,
+ const struct blorp_params *params);
+void gen9_blorp_exec(struct blorp_batch *batch,
+ const struct blorp_params *params);
+void gen10_blorp_exec(struct blorp_batch *batch,
+ const struct blorp_params *params);
#ifdef __cplusplus
} /* extern "C" */
#endif
+
+#endif /* BRW_BLORP_H */