Lines Matching refs:format

48     * Base format is one of GL_RED, GL_RG, GL_RGB, GL_RGBA, GL_ALPHA,
84 _mesa_get_format_info(mesa_format format)
86 const struct mesa_format_info *info = &format_info[format];
89 /* The MESA_FORMAT_* enums are sparse, don't return a format info
92 if (info->Name == MESA_FORMAT_NONE && format != MESA_FORMAT_NONE)
95 assert(info->Name == format);
100 /** Return string name of format (for debugging) */
102 _mesa_get_format_name(mesa_format format)
104 const struct mesa_format_info *info = _mesa_get_format_info(format);
113 * Return bytes needed to store a block of pixels in the given format.
120 _mesa_get_format_bytes(mesa_format format)
122 if (_mesa_format_is_mesa_array_format(format)) {
123 return _mesa_array_format_get_type_size(format) *
124 _mesa_array_format_get_num_channels(format);
127 const struct mesa_format_info *info = _mesa_get_format_info(format);
130 _mesa_is_format_compressed(format));
136 * Return bits per component for the given format.
137 * \param format one of MESA_FORMAT_x
141 _mesa_get_format_bits(mesa_format format, GLenum pname)
143 const struct mesa_format_info *info = _mesa_get_format_info(format);
196 _mesa_get_format_max_bits(mesa_format format)
198 const struct mesa_format_info *info = _mesa_get_format_info(format);
211 * Return the layout type of the given format.
214 _mesa_get_format_layout(mesa_format format)
216 const struct mesa_format_info *info = _mesa_get_format_info(format);
223 * for the given format.
232 _mesa_get_format_datatype(mesa_format format)
234 const struct mesa_format_info *info = _mesa_get_format_info(format);
239 get_base_format_for_array_format(mesa_array_format format)
244 switch (_mesa_array_format_get_base_format(format)) {
253 _mesa_array_format_get_swizzle(format, swizzle);
254 num_channels = _mesa_array_format_get_num_channels(format);
258 /* FIXME: RGBX formats have 4 channels, but their base format is GL_RGB.
260 * formats from GL format/type combinations, and these cannot specify
310 unreachable("Unsupported format");
314 * Return the basic format for the given type. The result will be one of
320 _mesa_get_format_base_format(uint32_t format)
322 if (!_mesa_format_is_mesa_array_format(format)) {
323 const struct mesa_format_info *info = _mesa_get_format_info(format);
326 return get_base_format_for_array_format(format);
332 * Return the block size (in pixels) for the given format. Normally
339 _mesa_get_format_block_size(mesa_format format,
342 const struct mesa_format_info *info = _mesa_get_format_info(format);
352 * Return the block size (in pixels) for the given format. Normally
360 _mesa_get_format_block_size_3d(mesa_format format,
365 const struct mesa_format_info *info = _mesa_get_format_info(format);
374 * from the RGBA or SZ colorspace to the given format. For array formats,
384 * // data does not contain a channel of this format
392 _mesa_get_format_swizzle(mesa_format format, uint8_t swizzle_out[4])
394 const struct mesa_format_info *info = _mesa_get_format_info(format);
399 _mesa_array_format_flip_channels(mesa_array_format format)
404 num_channels = _mesa_array_format_get_num_channels(format);
405 _mesa_array_format_get_swizzle(format, swizzle);
408 return format;
416 _mesa_array_format_set_swizzle(&format,
419 return format;
424 _mesa_array_format_set_swizzle(&format,
427 return format;
430 unreachable("Invalid array format");
445 _mesa_format_to_array_format(mesa_format format)
447 const struct mesa_format_info *info = _mesa_get_format_info(format);
486 /* All sRGB formats should have an equivalent UNORM format, and that's
526 /** Is the given format a compressed format? */
528 _mesa_is_format_compressed(mesa_format format)
530 const struct mesa_format_info *info = _mesa_get_format_info(format);
536 * Determine if the given format represents a packed depth/stencil buffer.
539 _mesa_is_format_packed_depth_stencil(mesa_format format)
541 const struct mesa_format_info *info = _mesa_get_format_info(format);
548 * Is the given format a signed/unsigned integer color format?
551 _mesa_is_format_integer_color(mesa_format format)
553 const struct mesa_format_info *info = _mesa_get_format_info(format);
562 * Is the given format an unsigned integer format?
565 _mesa_is_format_unsigned(mesa_format format)
567 const struct mesa_format_info *info = _mesa_get_format_info(format);
573 * Does the given format store signed values?
576 _mesa_is_format_signed(mesa_format format)
578 if (format == MESA_FORMAT_R11G11B10_FLOAT ||
579 format == MESA_FORMAT_R9G9B9E5_FLOAT) {
584 const struct mesa_format_info *info = _mesa_get_format_info(format);
592 * Is the given format an integer format?
595 _mesa_is_format_integer(mesa_format format)
597 const struct mesa_format_info *info = _mesa_get_format_info(format);
603 * Return true if the given format is a color format.
606 _mesa_is_format_color_format(mesa_format format)
608 const struct mesa_format_info *info = _mesa_get_format_info(format);
620 _mesa_is_format_srgb(mesa_format format)
622 const struct mesa_format_info *info = _mesa_get_format_info(format);
627 * Return TRUE if format is an ETC2 compressed format specified
631 _mesa_is_format_etc2(mesa_format format)
633 switch (format) {
652 * Return TRUE if format is an ASTC 2D compressed format.
655 _mesa_is_format_astc_2d(mesa_format format)
657 switch (format) {
694 * If the given format is a compressed format, return a corresponding
695 * uncompressed format.
698 _mesa_get_uncompressed_format(mesa_format format)
700 switch (format) {
758 assert(!_mesa_is_format_compressed(format));
759 return format;
765 _mesa_format_num_components(mesa_format format)
767 const struct mesa_format_info *info = _mesa_get_format_info(format);
780 * Returns true if a color format has data stored in the R/G/B/A channels,
784 _mesa_format_has_color_component(mesa_format format, int component)
786 const struct mesa_format_info *info = _mesa_get_format_info(format);
810 * in the given format.
813 _mesa_format_image_size(mesa_format format, int width,
816 const struct mesa_format_info *info = _mesa_get_format_info(format);
820 /* compressed format (2D only for now) */
841 _mesa_format_image_size64(mesa_format format, int width,
844 const struct mesa_format_info *info = _mesa_get_format_info(format);
848 /* compressed format (2D only for now) */
867 _mesa_format_row_stride(mesa_format format, int width)
869 const struct mesa_format_info *info = _mesa_get_format_info(format);
872 /* compressed format */
891 _mesa_uncompressed_format_to_type_and_comps(mesa_format format,
894 switch (format) {
1424 const char *name = _mesa_get_format_name(format);
1426 _mesa_problem(NULL, "bad format %s in _mesa_uncompressed_format_to_type_and_comps",
1428 assert(format == MESA_FORMAT_NONE ||
1429 _mesa_is_format_compressed(format));
1437 * Check if a mesa_format exactly matches a GL format/type combination
1440 * \param format the user-specified image format
1443 * \param[out] error GL_NO_ERROR if format is an expected input.
1444 * GL_INVALID_ENUM if format is an unexpected input.
1449 GLenum format, GLenum type,
1464 /* format/type don't include srgb and should match regardless of it. */
1472 if (format == GL_COLOR_INDEX)
1475 mesa_format other_format = _mesa_format_from_format_and_type(format, type);