aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d/v3d_context.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-11-02 11:31:42 -0700
committerEric Anholt <[email protected]>2018-12-07 16:48:23 -0800
commit2ebca177dc188a10db93a087ce18c2f3042d9b1c (patch)
treec9599b24f5ef572f326c8434f23c5258071f0969 /src/gallium/drivers/v3d/v3d_context.h
parentee0549ff9ab31b52301f693735f6987f72312fc7 (diff)
v3d: Use the TFU to do generatemipmap.
This is a separate, dedicated hardware unit for texture layout conversions and mipmap generation.
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_context.h')
-rw-r--r--src/gallium/drivers/v3d/v3d_context.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gallium/drivers/v3d/v3d_context.h b/src/gallium/drivers/v3d/v3d_context.h
index 4c3779a4990..8c55eadfa15 100644
--- a/src/gallium/drivers/v3d/v3d_context.h
+++ b/src/gallium/drivers/v3d/v3d_context.h
@@ -365,7 +365,7 @@ struct v3d_context {
/** Maximum index buffer valid for the current shader_rec. */
uint32_t max_index;
- /** Sync object that our RCL will update as its out_sync. */
+ /** Sync object that our RCL or TFU job will update as its out_sync. */
uint32_t out_sync;
struct u_upload_mgr *uploader;
@@ -526,10 +526,19 @@ void v3d_get_internal_type_bpp_for_output_format(const struct v3d_device_info *d
uint32_t format,
uint32_t *type,
uint32_t *bpp);
+bool v3d_tfu_supports_tex_format(const struct v3d_device_info *devinfo,
+ uint32_t tex_format);
void v3d_init_query_functions(struct v3d_context *v3d);
void v3d_blit(struct pipe_context *pctx, const struct pipe_blit_info *blit_info);
void v3d_blitter_save(struct v3d_context *v3d);
+boolean v3d_generate_mipmap(struct pipe_context *pctx,
+ struct pipe_resource *prsc,
+ enum pipe_format format,
+ unsigned int base_level,
+ unsigned int last_level,
+ unsigned int first_layer,
+ unsigned int last_layer);
struct v3d_fence *v3d_fence_create(struct v3d_context *v3d);