X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fsvga%2Fsvga_sampler_view.h;h=7521a82bac3cfce0833af12536f6fd14377cf533;hb=be3b5e015c5cdbe28ab366b18f35a49690960353;hp=e64665f2e584a8549a3cdb8bdf9386c46f5bba51;hpb=ff20543c815a14fddad1efaaef1610454a1924d4;p=mesa.git diff --git a/src/gallium/drivers/svga/svga_sampler_view.h b/src/gallium/drivers/svga/svga_sampler_view.h index e64665f2e58..7521a82bac3 100644 --- a/src/gallium/drivers/svga/svga_sampler_view.h +++ b/src/gallium/drivers/svga/svga_sampler_view.h @@ -35,7 +35,9 @@ struct pipe_context; struct pipe_screen; struct svga_context; +struct svga_pipe_sampler_view; struct svga_winsys_surface; +struct svga_surface; enum SVGA3dSurfaceFormat; @@ -83,15 +85,31 @@ svga_validate_sampler_view(struct svga_context *svga, struct svga_sampler_view * 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(struct svga_context *svga, + 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