diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index c96a387bab8..196a9f42c50 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -569,6 +569,8 @@ struct pipe_resource */ unsigned nr_storage_samples:8; + unsigned nr_sparse_levels:8; /**< Mipmap levels support partial resident */ + unsigned usage:8; /**< PIPE_USAGE_x (not a bitmask) */ unsigned bind; /**< bitmask of PIPE_BIND_x */ unsigned flags; /**< bitmask of PIPE_RESOURCE_FLAG_x */ diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 5414adb1016..1a3ab2a662c 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -3359,6 +3359,9 @@ st_texture_storage(struct gl_context *ctx, } } + /* Update gl_texture_object for texture parameter query. */ + texObj->NumSparseLevels = stObj->pt->nr_sparse_levels; + /* The texture is in a validated state, so no need to check later. */ stObj->needs_validation = false; stObj->validated_first_level = 0;