replace _mesa_logbase2 with util_logbase2
[mesa.git] / src / mesa / state_tracker / st_texture.h
index f71d5a0b44ce728de323ce9361e136ac6de33c17..7948daa65421417fbada908a68c0287eb354f60e 100644 (file)
@@ -57,6 +57,9 @@ struct st_sampler_view
 {
    struct pipe_sampler_view *view;
 
+   /** The context which created this view */
+   struct st_context *st;
+
    /** The glsl version of the shader seen during validation */
    bool glsl130_or_later;
    /** Derived from the sampler's sRGBDecode state during validation */
@@ -161,15 +164,15 @@ struct st_texture_object
     */
    enum pipe_format surface_format;
 
-   /* When non-zero, samplers should use this level instead of the level
+   /* When non-negative, samplers should use this level instead of the level
     * range specified by the GL state.
     *
     * This is used for EGL images, which may correspond to a single level out
     * of an imported pipe_resources with multiple mip levels.
     */
-   uint level_override;
+   int level_override;
 
-   /* When non-zero, samplers should use this layer instead of the one
+   /* When non-negative, samplers should use this layer instead of the one
     * specified by the GL state.
     *
     * This is used for EGL images and VDPAU interop, where imported
@@ -177,7 +180,7 @@ struct st_texture_object
     * with different fields in the case of VDPAU) even though the GL state
     * describes one non-array texture per field.
     */
-   uint layer_override;
+   int layer_override;
 
     /**
      * Set when the texture images of this texture object might not all be in
@@ -319,6 +322,9 @@ st_destroy_bound_texture_handles(struct st_context *st);
 void
 st_destroy_bound_image_handles(struct st_context *st);
 
+bool
+st_astc_format_fallback(const struct st_context *st, mesa_format format);
+
 bool
 st_compressed_format_fallback(struct st_context *st, mesa_format format);