X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fsvga%2Fsvga_format.h;h=64d3cc06bede1ab4a7cead33e7052f927150d0c5;hb=acecee4c2db48fb36bce1170d8747c7345ba3541;hp=630a86a49b6e2e02548c7542f1e86dcda21c8c5a;hpb=83c86e09a8d7610022eae49731ac1ed03ee4f67b;p=mesa.git diff --git a/src/gallium/drivers/svga/svga_format.h b/src/gallium/drivers/svga/svga_format.h index 630a86a49b6..64d3cc06bed 100644 --- a/src/gallium/drivers/svga/svga_format.h +++ b/src/gallium/drivers/svga/svga_format.h @@ -56,14 +56,23 @@ struct svga_screen; * Texture format flags. */ #define TF_GEN_MIPS (1 << 8) /* supports hw generate mipmap */ +#define TF_000X (1 << 9) /* swizzle <0, 0, 0, X> */ +#define TF_XXXX (1 << 10) /* swizzle */ +#define TF_XXX1 (1 << 11) /* swizzle */ +#define TF_XXXY (1 << 12) /* swizzle */ void svga_translate_vertex_format_vgpu10(enum pipe_format format, SVGA3dSurfaceFormat *svga_format, unsigned *vf_flags); +void +svga_translate_texture_buffer_view_format(enum pipe_format format, + SVGA3dSurfaceFormat *svga_format, + unsigned *tf_flags); + enum SVGA3dSurfaceFormat -svga_translate_format(struct svga_screen *ss, +svga_translate_format(const struct svga_screen *ss, enum pipe_format format, unsigned bind); @@ -104,4 +113,39 @@ SVGA3dSurfaceFormat svga_sampler_format(SVGA3dSurfaceFormat format); +bool +svga_format_is_uncompressed_snorm(SVGA3dSurfaceFormat format); + + +bool +svga_format_is_typeless(SVGA3dSurfaceFormat format); + +bool +svga_format_is_shareable(const struct svga_screen *ss, + enum pipe_format pformat, + SVGA3dSurfaceFormat sformat, + unsigned bind, + bool verbose); + +SVGA3dSurfaceFormat +svga_linear_to_srgb(SVGA3dSurfaceFormat format); + + +boolean +svga_is_format_supported(struct pipe_screen *screen, + enum pipe_format format, + enum pipe_texture_target target, + unsigned sample_count, + unsigned storage_sample_count, + unsigned bindings); + + +boolean +svga_is_dx_format_supported(struct pipe_screen *screen, + enum pipe_format format, + enum pipe_texture_target target, + unsigned sample_count, + unsigned storage_sample_count, + unsigned bindings); + #endif /* SVGA_FORMAT_H_ */