2 * Copyright 2010 Red Hat Inc.
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * on the rights to use, copy, modify, merge, publish, distribute, sub
8 * license, and/or sell copies of the Software, and to permit persons to whom
9 * the Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
19 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
20 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
21 * USE OR OTHER DEALINGS IN THE SOFTWARE.
23 #ifndef EG_STATE_INLINES_H
24 #define EG_STATE_INLINES_H
26 #include "util/u_format.h"
27 #include "evergreend.h"
28 #include "r600_formats.h"
30 static INLINE
uint32_t r600_translate_blend_function(int blend_func
)
34 return V_028780_COMB_DST_PLUS_SRC
;
35 case PIPE_BLEND_SUBTRACT
:
36 return V_028780_COMB_SRC_MINUS_DST
;
37 case PIPE_BLEND_REVERSE_SUBTRACT
:
38 return V_028780_COMB_DST_MINUS_SRC
;
40 return V_028780_COMB_MIN_DST_SRC
;
42 return V_028780_COMB_MAX_DST_SRC
;
44 R600_ERR("Unknown blend function %d\n", blend_func
);
51 static INLINE
uint32_t r600_translate_blend_factor(int blend_fact
)
54 case PIPE_BLENDFACTOR_ONE
:
55 return V_028780_BLEND_ONE
;
56 case PIPE_BLENDFACTOR_SRC_COLOR
:
57 return V_028780_BLEND_SRC_COLOR
;
58 case PIPE_BLENDFACTOR_SRC_ALPHA
:
59 return V_028780_BLEND_SRC_ALPHA
;
60 case PIPE_BLENDFACTOR_DST_ALPHA
:
61 return V_028780_BLEND_DST_ALPHA
;
62 case PIPE_BLENDFACTOR_DST_COLOR
:
63 return V_028780_BLEND_DST_COLOR
;
64 case PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE
:
65 return V_028780_BLEND_SRC_ALPHA_SATURATE
;
66 case PIPE_BLENDFACTOR_CONST_COLOR
:
67 return V_028780_BLEND_CONST_COLOR
;
68 case PIPE_BLENDFACTOR_CONST_ALPHA
:
69 return V_028780_BLEND_CONST_ALPHA
;
70 case PIPE_BLENDFACTOR_ZERO
:
71 return V_028780_BLEND_ZERO
;
72 case PIPE_BLENDFACTOR_INV_SRC_COLOR
:
73 return V_028780_BLEND_ONE_MINUS_SRC_COLOR
;
74 case PIPE_BLENDFACTOR_INV_SRC_ALPHA
:
75 return V_028780_BLEND_ONE_MINUS_SRC_ALPHA
;
76 case PIPE_BLENDFACTOR_INV_DST_ALPHA
:
77 return V_028780_BLEND_ONE_MINUS_DST_ALPHA
;
78 case PIPE_BLENDFACTOR_INV_DST_COLOR
:
79 return V_028780_BLEND_ONE_MINUS_DST_COLOR
;
80 case PIPE_BLENDFACTOR_INV_CONST_COLOR
:
81 return V_028780_BLEND_ONE_MINUS_CONST_COLOR
;
82 case PIPE_BLENDFACTOR_INV_CONST_ALPHA
:
83 return V_028780_BLEND_ONE_MINUS_CONST_ALPHA
;
84 case PIPE_BLENDFACTOR_SRC1_COLOR
:
85 return V_028780_BLEND_SRC1_COLOR
;
86 case PIPE_BLENDFACTOR_SRC1_ALPHA
:
87 return V_028780_BLEND_SRC1_ALPHA
;
88 case PIPE_BLENDFACTOR_INV_SRC1_COLOR
:
89 return V_028780_BLEND_INV_SRC1_COLOR
;
90 case PIPE_BLENDFACTOR_INV_SRC1_ALPHA
:
91 return V_028780_BLEND_INV_SRC1_ALPHA
;
93 R600_ERR("Bad blend factor %d not supported!\n", blend_fact
);
100 static INLINE
uint32_t r600_translate_stencil_op(int s_op
)
103 case PIPE_STENCIL_OP_KEEP
:
104 return V_028800_STENCIL_KEEP
;
105 case PIPE_STENCIL_OP_ZERO
:
106 return V_028800_STENCIL_ZERO
;
107 case PIPE_STENCIL_OP_REPLACE
:
108 return V_028800_STENCIL_REPLACE
;
109 case PIPE_STENCIL_OP_INCR
:
110 return V_028800_STENCIL_INCR
;
111 case PIPE_STENCIL_OP_DECR
:
112 return V_028800_STENCIL_DECR
;
113 case PIPE_STENCIL_OP_INCR_WRAP
:
114 return V_028800_STENCIL_INCR_WRAP
;
115 case PIPE_STENCIL_OP_DECR_WRAP
:
116 return V_028800_STENCIL_DECR_WRAP
;
117 case PIPE_STENCIL_OP_INVERT
:
118 return V_028800_STENCIL_INVERT
;
120 R600_ERR("Unknown stencil op %d", s_op
);
127 static INLINE
uint32_t r600_translate_fill(uint32_t func
)
130 case PIPE_POLYGON_MODE_FILL
:
132 case PIPE_POLYGON_MODE_LINE
:
134 case PIPE_POLYGON_MODE_POINT
:
142 /* translates straight */
143 static INLINE
uint32_t r600_translate_ds_func(int func
)
148 static inline unsigned r600_tex_wrap(unsigned wrap
)
152 case PIPE_TEX_WRAP_REPEAT
:
153 return V_03C000_SQ_TEX_WRAP
;
154 case PIPE_TEX_WRAP_CLAMP
:
155 return V_03C000_SQ_TEX_CLAMP_HALF_BORDER
;
156 case PIPE_TEX_WRAP_CLAMP_TO_EDGE
:
157 return V_03C000_SQ_TEX_CLAMP_LAST_TEXEL
;
158 case PIPE_TEX_WRAP_CLAMP_TO_BORDER
:
159 return V_03C000_SQ_TEX_CLAMP_BORDER
;
160 case PIPE_TEX_WRAP_MIRROR_REPEAT
:
161 return V_03C000_SQ_TEX_MIRROR
;
162 case PIPE_TEX_WRAP_MIRROR_CLAMP
:
163 return V_03C000_SQ_TEX_MIRROR_ONCE_HALF_BORDER
;
164 case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE
:
165 return V_03C000_SQ_TEX_MIRROR_ONCE_LAST_TEXEL
;
166 case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER
:
167 return V_03C000_SQ_TEX_MIRROR_ONCE_BORDER
;
171 static inline unsigned r600_tex_filter(unsigned filter
)
175 case PIPE_TEX_FILTER_NEAREST
:
176 return V_03C000_SQ_TEX_XY_FILTER_POINT
;
177 case PIPE_TEX_FILTER_LINEAR
:
178 return V_03C000_SQ_TEX_XY_FILTER_BILINEAR
;
182 static inline unsigned r600_tex_mipfilter(unsigned filter
)
185 case PIPE_TEX_MIPFILTER_NEAREST
:
186 return V_03C000_SQ_TEX_Z_FILTER_POINT
;
187 case PIPE_TEX_MIPFILTER_LINEAR
:
188 return V_03C000_SQ_TEX_Z_FILTER_LINEAR
;
190 case PIPE_TEX_MIPFILTER_NONE
:
191 return V_03C000_SQ_TEX_Z_FILTER_NONE
;
195 static inline unsigned r600_tex_compare(unsigned compare
)
199 case PIPE_FUNC_NEVER
:
200 return V_03C000_SQ_TEX_DEPTH_COMPARE_NEVER
;
202 return V_03C000_SQ_TEX_DEPTH_COMPARE_LESS
;
203 case PIPE_FUNC_EQUAL
:
204 return V_03C000_SQ_TEX_DEPTH_COMPARE_EQUAL
;
205 case PIPE_FUNC_LEQUAL
:
206 return V_03C000_SQ_TEX_DEPTH_COMPARE_LESSEQUAL
;
207 case PIPE_FUNC_GREATER
:
208 return V_03C000_SQ_TEX_DEPTH_COMPARE_GREATER
;
209 case PIPE_FUNC_NOTEQUAL
:
210 return V_03C000_SQ_TEX_DEPTH_COMPARE_NOTEQUAL
;
211 case PIPE_FUNC_GEQUAL
:
212 return V_03C000_SQ_TEX_DEPTH_COMPARE_GREATEREQUAL
;
213 case PIPE_FUNC_ALWAYS
:
214 return V_03C000_SQ_TEX_DEPTH_COMPARE_ALWAYS
;
218 static inline unsigned r600_tex_swizzle(unsigned swizzle
)
221 case PIPE_SWIZZLE_RED
:
222 return V_030010_SQ_SEL_X
;
223 case PIPE_SWIZZLE_GREEN
:
224 return V_030010_SQ_SEL_Y
;
225 case PIPE_SWIZZLE_BLUE
:
226 return V_030010_SQ_SEL_Z
;
227 case PIPE_SWIZZLE_ALPHA
:
228 return V_030010_SQ_SEL_W
;
229 case PIPE_SWIZZLE_ZERO
:
230 return V_030010_SQ_SEL_0
;
232 case PIPE_SWIZZLE_ONE
:
233 return V_030010_SQ_SEL_1
;
237 static inline unsigned r600_format_type(unsigned format_type
)
239 switch (format_type
) {
241 case UTIL_FORMAT_TYPE_UNSIGNED
:
242 return V_030010_SQ_FORMAT_COMP_UNSIGNED
;
243 case UTIL_FORMAT_TYPE_SIGNED
:
244 return V_030010_SQ_FORMAT_COMP_SIGNED
;
245 case UTIL_FORMAT_TYPE_FIXED
:
246 return V_030010_SQ_FORMAT_COMP_UNSIGNED_BIASED
;
250 static inline unsigned r600_tex_dim(unsigned dim
)
254 case PIPE_TEXTURE_1D
:
255 return V_030000_SQ_TEX_DIM_1D
;
256 case PIPE_TEXTURE_1D_ARRAY
:
257 return V_030000_SQ_TEX_DIM_1D_ARRAY
;
258 case PIPE_TEXTURE_2D
:
259 case PIPE_TEXTURE_RECT
:
260 return V_030000_SQ_TEX_DIM_2D
;
261 case PIPE_TEXTURE_2D_ARRAY
:
262 return V_030000_SQ_TEX_DIM_2D_ARRAY
;
263 case PIPE_TEXTURE_3D
:
264 return V_030000_SQ_TEX_DIM_3D
;
265 case PIPE_TEXTURE_CUBE
:
266 return V_030000_SQ_TEX_DIM_CUBEMAP
;
270 static inline uint32_t r600_translate_dbformat(enum pipe_format format
)
273 case PIPE_FORMAT_Z16_UNORM
:
274 return V_028040_Z_16
;
275 case PIPE_FORMAT_Z24X8_UNORM
:
276 return V_028040_Z_24
;
277 case PIPE_FORMAT_Z24_UNORM_S8_USCALED
:
278 return V_028040_Z_24
;
284 static inline uint32_t r600_translate_stencilformat(enum pipe_format format
)
286 if (format
== PIPE_FORMAT_Z24_UNORM_S8_USCALED
)
292 static inline uint32_t r600_translate_colorswap(enum pipe_format format
)
296 case PIPE_FORMAT_L4A4_UNORM
:
297 return V_028C70_SWAP_ALT
;
299 case PIPE_FORMAT_A8_UNORM
:
300 return V_028C70_SWAP_ALT_REV
;
301 case PIPE_FORMAT_I8_UNORM
:
302 case PIPE_FORMAT_L8_UNORM
:
303 case PIPE_FORMAT_L8_SRGB
:
304 case PIPE_FORMAT_R8_UNORM
:
305 case PIPE_FORMAT_R8_SNORM
:
306 return V_028C70_SWAP_STD
;
308 /* 16-bit buffers. */
309 case PIPE_FORMAT_B5G6R5_UNORM
:
310 return V_028C70_SWAP_STD_REV
;
312 case PIPE_FORMAT_B5G5R5A1_UNORM
:
313 case PIPE_FORMAT_B5G5R5X1_UNORM
:
314 return V_028C70_SWAP_ALT
;
316 case PIPE_FORMAT_B4G4R4A4_UNORM
:
317 case PIPE_FORMAT_B4G4R4X4_UNORM
:
318 return V_028C70_SWAP_ALT
;
320 case PIPE_FORMAT_Z16_UNORM
:
321 return V_028C70_SWAP_STD
;
323 case PIPE_FORMAT_L8A8_UNORM
:
324 case PIPE_FORMAT_L8A8_SRGB
:
325 return V_028C70_SWAP_ALT
;
326 case PIPE_FORMAT_R8G8_UNORM
:
327 return V_028C70_SWAP_STD
;
329 case PIPE_FORMAT_R16_UNORM
:
330 return V_028C70_SWAP_STD
;
331 /* 32-bit buffers. */
333 case PIPE_FORMAT_A8B8G8R8_SRGB
:
334 return V_028C70_SWAP_STD_REV
;
335 case PIPE_FORMAT_B8G8R8A8_SRGB
:
336 return V_028C70_SWAP_ALT
;
338 case PIPE_FORMAT_B8G8R8A8_UNORM
:
339 case PIPE_FORMAT_B8G8R8X8_UNORM
:
340 return V_028C70_SWAP_ALT
;
342 case PIPE_FORMAT_A8R8G8B8_UNORM
:
343 case PIPE_FORMAT_X8R8G8B8_UNORM
:
344 return V_028C70_SWAP_ALT_REV
;
345 case PIPE_FORMAT_R8G8B8A8_SNORM
:
346 case PIPE_FORMAT_R8G8B8X8_UNORM
:
347 return V_028C70_SWAP_STD
;
349 case PIPE_FORMAT_A8B8G8R8_UNORM
:
350 case PIPE_FORMAT_X8B8G8R8_UNORM
:
351 // case PIPE_FORMAT_R8SG8SB8UX8U_NORM:
352 return V_028C70_SWAP_STD_REV
;
354 case PIPE_FORMAT_Z24X8_UNORM
:
355 case PIPE_FORMAT_Z24_UNORM_S8_USCALED
:
356 return V_028C70_SWAP_STD
;
358 case PIPE_FORMAT_X8Z24_UNORM
:
359 case PIPE_FORMAT_S8_USCALED_Z24_UNORM
:
360 return V_028C70_SWAP_STD
;
362 case PIPE_FORMAT_R10G10B10A2_UNORM
:
363 case PIPE_FORMAT_R10G10B10X2_SNORM
:
364 case PIPE_FORMAT_R10SG10SB10SA2U_NORM
:
365 return V_028C70_SWAP_STD
;
367 case PIPE_FORMAT_B10G10R10A2_UNORM
:
368 return V_028C70_SWAP_ALT
;
370 case PIPE_FORMAT_R32_FLOAT
:
371 case PIPE_FORMAT_R16G16_FLOAT
:
372 case PIPE_FORMAT_R16G16_UNORM
:
373 return V_028C70_SWAP_STD
;
375 /* 64-bit buffers. */
376 case PIPE_FORMAT_R32G32_FLOAT
:
377 case PIPE_FORMAT_R16G16B16A16_UNORM
:
378 case PIPE_FORMAT_R16G16B16A16_SNORM
:
379 case PIPE_FORMAT_R16G16B16A16_SSCALED
:
380 case PIPE_FORMAT_R16G16B16A16_FLOAT
:
382 /* 128-bit buffers. */
383 case PIPE_FORMAT_R32G32B32A32_FLOAT
:
384 case PIPE_FORMAT_R32G32B32A32_SNORM
:
385 case PIPE_FORMAT_R32G32B32A32_UNORM
:
386 return V_028C70_SWAP_STD
;
388 R600_ERR("unsupported colorswap format %d\n", format
);
394 static INLINE
uint32_t r600_translate_colorformat(enum pipe_format format
)
398 case PIPE_FORMAT_L4A4_UNORM
:
399 return V_028C70_COLOR_4_4
;
401 case PIPE_FORMAT_A8_UNORM
:
402 case PIPE_FORMAT_I8_UNORM
:
403 case PIPE_FORMAT_L8_UNORM
:
404 case PIPE_FORMAT_L8_SRGB
:
405 case PIPE_FORMAT_R8_UNORM
:
406 case PIPE_FORMAT_R8_SNORM
:
407 return V_028C70_COLOR_8
;
409 /* 16-bit buffers. */
410 case PIPE_FORMAT_B5G6R5_UNORM
:
411 return V_028C70_COLOR_5_6_5
;
413 case PIPE_FORMAT_B5G5R5A1_UNORM
:
414 case PIPE_FORMAT_B5G5R5X1_UNORM
:
415 return V_028C70_COLOR_1_5_5_5
;
417 case PIPE_FORMAT_B4G4R4A4_UNORM
:
418 case PIPE_FORMAT_B4G4R4X4_UNORM
:
419 return V_028C70_COLOR_4_4_4_4
;
421 case PIPE_FORMAT_Z16_UNORM
:
422 return V_028C70_COLOR_16
;
424 case PIPE_FORMAT_L8A8_UNORM
:
425 case PIPE_FORMAT_L8A8_SRGB
:
426 case PIPE_FORMAT_R8G8_UNORM
:
427 return V_028C70_COLOR_8_8
;
429 case PIPE_FORMAT_R16_UNORM
:
430 return V_028C70_COLOR_16
;
432 /* 32-bit buffers. */
433 case PIPE_FORMAT_A8B8G8R8_SRGB
:
434 case PIPE_FORMAT_A8B8G8R8_UNORM
:
435 case PIPE_FORMAT_A8R8G8B8_UNORM
:
436 case PIPE_FORMAT_B8G8R8A8_SRGB
:
437 case PIPE_FORMAT_B8G8R8A8_UNORM
:
438 case PIPE_FORMAT_B8G8R8X8_UNORM
:
439 case PIPE_FORMAT_R8G8B8A8_SNORM
:
440 case PIPE_FORMAT_R8G8B8A8_UNORM
:
441 case PIPE_FORMAT_R8G8B8X8_UNORM
:
442 case PIPE_FORMAT_R8SG8SB8UX8U_NORM
:
443 case PIPE_FORMAT_X8B8G8R8_UNORM
:
444 case PIPE_FORMAT_X8R8G8B8_UNORM
:
445 case PIPE_FORMAT_R8G8B8_UNORM
:
446 return V_028C70_COLOR_8_8_8_8
;
448 case PIPE_FORMAT_R10G10B10A2_UNORM
:
449 case PIPE_FORMAT_R10G10B10X2_SNORM
:
450 case PIPE_FORMAT_B10G10R10A2_UNORM
:
451 case PIPE_FORMAT_R10SG10SB10SA2U_NORM
:
452 return V_028C70_COLOR_2_10_10_10
;
454 case PIPE_FORMAT_Z24X8_UNORM
:
455 case PIPE_FORMAT_Z24_UNORM_S8_USCALED
:
456 return V_028C70_COLOR_8_24
;
458 case PIPE_FORMAT_X8Z24_UNORM
:
459 case PIPE_FORMAT_S8_USCALED_Z24_UNORM
:
460 return V_028C70_COLOR_24_8
;
462 case PIPE_FORMAT_R32_FLOAT
:
463 return V_028C70_COLOR_32_FLOAT
;
465 case PIPE_FORMAT_R16G16_FLOAT
:
466 return V_028C70_COLOR_16_16_FLOAT
;
468 case PIPE_FORMAT_R16G16_SSCALED
:
469 case PIPE_FORMAT_R16G16_UNORM
:
470 return V_028C70_COLOR_16_16
;
472 /* 64-bit buffers. */
473 case PIPE_FORMAT_R16G16B16_USCALED
:
474 case PIPE_FORMAT_R16G16B16A16_USCALED
:
475 case PIPE_FORMAT_R16G16B16_SSCALED
:
476 case PIPE_FORMAT_R16G16B16A16_SSCALED
:
477 case PIPE_FORMAT_R16G16B16A16_UNORM
:
478 case PIPE_FORMAT_R16G16B16A16_SNORM
:
479 return V_028C70_COLOR_16_16_16_16
;
481 case PIPE_FORMAT_R16G16B16_FLOAT
:
482 case PIPE_FORMAT_R16G16B16A16_FLOAT
:
483 return V_028C70_COLOR_16_16_16_16_FLOAT
;
485 case PIPE_FORMAT_R32G32_FLOAT
:
486 return V_028C70_COLOR_32_32_FLOAT
;
488 case PIPE_FORMAT_R32G32_USCALED
:
489 case PIPE_FORMAT_R32G32_SSCALED
:
490 return V_028C70_COLOR_32_32
;
492 /* 128-bit buffers. */
493 case PIPE_FORMAT_R32G32B32A32_SNORM
:
494 case PIPE_FORMAT_R32G32B32A32_UNORM
:
495 return V_028C70_COLOR_32_32_32_32
;
496 case PIPE_FORMAT_R32G32B32_FLOAT
:
497 return V_028C70_COLOR_32_32_32_FLOAT
;
498 case PIPE_FORMAT_R32G32B32A32_FLOAT
:
499 return V_028C70_COLOR_32_32_32_32_FLOAT
;
502 case PIPE_FORMAT_UYVY
:
503 case PIPE_FORMAT_YUYV
:
505 //R600_ERR("unsupported color format %d\n", format);
506 return ~0; /* Unsupported. */
510 static INLINE
uint32_t r600_colorformat_endian_swap(uint32_t colorformat
)
512 #ifdef PIPE_ARCH_BIG_ENDIAN
513 switch(colorformat
) {
514 case V_0280A0_COLOR_4_4
:
518 case V_0280A0_COLOR_8
:
521 /* 16-bit buffers. */
522 case V_0280A0_COLOR_5_6_5
:
523 case V_0280A0_COLOR_1_5_5_5
:
524 case V_0280A0_COLOR_4_4_4_4
:
525 case V_0280A0_COLOR_16
:
526 case V_0280A0_COLOR_8_8
:
527 return(ENDIAN_8IN16
);
529 /* 32-bit buffers. */
530 case V_0280A0_COLOR_8_8_8_8
:
531 case V_0280A0_COLOR_2_10_10_10
:
532 case V_0280A0_COLOR_8_24
:
533 case V_0280A0_COLOR_24_8
:
534 case V_0280A0_COLOR_32_FLOAT
:
535 case V_0280A0_COLOR_16_16_FLOAT
:
536 case V_0280A0_COLOR_16_16
:
537 return(ENDIAN_8IN32
);
539 /* 64-bit buffers. */
540 case V_0280A0_COLOR_16_16_16_16
:
541 case V_0280A0_COLOR_16_16_16_16_FLOAT
:
542 return(ENDIAN_8IN16
);
544 case V_0280A0_COLOR_32_32_FLOAT
:
545 case V_0280A0_COLOR_32_32
:
546 return(ENDIAN_8IN32
);
548 /* 128-bit buffers. */
549 case V_0280A0_COLOR_32_32_32_FLOAT
:
550 case V_0280A0_COLOR_32_32_32_32_FLOAT
:
551 case V_0280A0_COLOR_32_32_32_32
:
552 return(ENDIAN_8IN32
);
554 return ENDIAN_NONE
; /* Unsupported. */
561 static INLINE boolean
r600_is_sampler_format_supported(struct pipe_screen
*screen
, enum pipe_format format
)
563 return r600_translate_texformat(screen
, format
, NULL
, NULL
, NULL
) != ~0;
566 static INLINE boolean
r600_is_colorbuffer_format_supported(enum pipe_format format
)
568 return r600_translate_colorformat(format
) != ~0 &&
569 r600_translate_colorswap(format
) != ~0;
572 static INLINE boolean
r600_is_zs_format_supported(enum pipe_format format
)
574 return r600_translate_dbformat(format
) != ~0;