aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/drivers/common/meta.h
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/mesa/drivers/common/meta.h')
-rw-r--r--mesalib/src/mesa/drivers/common/meta.h32
1 files changed, 29 insertions, 3 deletions
diff --git a/mesalib/src/mesa/drivers/common/meta.h b/mesalib/src/mesa/drivers/common/meta.h
index 6ecf3c005..e7d894df1 100644
--- a/mesalib/src/mesa/drivers/common/meta.h
+++ b/mesalib/src/mesa/drivers/common/meta.h
@@ -298,7 +298,8 @@ struct blit_state
{
GLuint VAO;
GLuint VBO;
- struct blit_shader_table shaders;
+ struct blit_shader_table shaders_with_depth;
+ struct blit_shader_table shaders_without_depth;
GLuint msaa_shaders[BLIT_MSAA_SHADER_COUNT];
struct temp_texture depthTex;
bool no_ctsi_fallback;
@@ -446,8 +447,11 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state);
extern void
_mesa_meta_end(struct gl_context *ctx);
-extern GLboolean
-_mesa_meta_in_progress(struct gl_context *ctx);
+static inline bool
+_mesa_meta_in_progress(struct gl_context *ctx)
+{
+ return ctx->Meta->SaveStackDepth != 0;
+}
extern void
_mesa_meta_fb_tex_blit_begin(const struct gl_context *ctx,
@@ -471,12 +475,16 @@ _mesa_meta_setup_sampler(struct gl_context *ctx,
extern GLbitfield
_mesa_meta_BlitFramebuffer(struct gl_context *ctx,
+ const struct gl_framebuffer *readFb,
+ const struct gl_framebuffer *drawFb,
GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
GLbitfield mask, GLenum filter);
extern void
_mesa_meta_and_swrast_BlitFramebuffer(struct gl_context *ctx,
+ struct gl_framebuffer *readFb,
+ struct gl_framebuffer *drawFb,
GLint srcX0, GLint srcY0,
GLint srcX1, GLint srcY1,
GLint dstX0, GLint dstY0,
@@ -519,6 +527,23 @@ extern void
_mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target,
struct gl_texture_object *texObj);
+extern bool
+_mesa_meta_pbo_TexSubImage(struct gl_context *ctx, GLuint dims,
+ struct gl_texture_image *tex_image,
+ int xoffset, int yoffset, int zoffset,
+ int width, int height, int depth,
+ GLenum format, GLenum type, const void *pixels,
+ bool allocate_storage, bool create_pbo,
+ const struct gl_pixelstore_attrib *packing);
+
+extern bool
+_mesa_meta_pbo_GetTexSubImage(struct gl_context *ctx, GLuint dims,
+ struct gl_texture_image *tex_image,
+ int xoffset, int yoffset, int zoffset,
+ int width, int height, int depth,
+ GLenum format, GLenum type, const void *pixels,
+ const struct gl_pixelstore_attrib *packing);
+
extern void
_mesa_meta_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
struct gl_texture_image *texImage,
@@ -612,6 +637,7 @@ _mesa_meta_setup_copypix_texture(struct gl_context *ctx,
void
_mesa_meta_setup_blit_shader(struct gl_context *ctx,
GLenum target,
+ bool do_depth,
struct blit_shader_table *table);
void