diff options
Diffstat (limited to 'mesalib/src/mesa/drivers/common/meta.h')
-rw-r--r-- | mesalib/src/mesa/drivers/common/meta.h | 32 |
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 |