struct pipe_context;
struct pipe_screen;
struct svga_context;
+struct svga_pipe_sampler_view;
struct svga_winsys_surface;
+struct svga_surface;
enum SVGA3dSurfaceFormat;
void
svga_destroy_sampler_view_priv(struct svga_sampler_view *v);
-static INLINE void
+void
+svga_debug_describe_sampler_view(char *buf, const struct svga_sampler_view *sv);
+
+static inline void
svga_sampler_view_reference(struct svga_sampler_view **ptr, struct svga_sampler_view *v)
{
struct svga_sampler_view *old = *ptr;
- if (pipe_reference(&(*ptr)->reference, &v->reference))
+ if (pipe_reference_described(&(*ptr)->reference, &v->reference,
+ (debug_reference_descriptor)svga_debug_describe_sampler_view))
svga_destroy_sampler_view_priv(old);
*ptr = v;
}
+boolean
+svga_check_sampler_view_resource_collision(const struct svga_context *svga,
+ const struct svga_winsys_surface *res,
+ enum pipe_shader_type shader);
+
+boolean
+svga_check_sampler_framebuffer_resource_collision(struct svga_context *svga,
+ enum pipe_shader_type shader);
+
+enum pipe_error
+svga_validate_pipe_sampler_view(struct svga_context *svga,
+ struct svga_pipe_sampler_view *sv);
#endif