mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 16:18:06 +02:00
svga: add some devcap debugging code
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
This commit is contained in:
parent
96ef81e39e
commit
1ea9c80d6d
1 changed files with 193 additions and 0 deletions
|
|
@ -1595,6 +1595,190 @@ check_format_tables(void)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return string name of an SVGA3dDevCapIndex value.
|
||||
* For debugging.
|
||||
*/
|
||||
static const char *
|
||||
svga_devcap_name(SVGA3dDevCapIndex cap)
|
||||
{
|
||||
static const struct debug_named_value devcap_names[] = {
|
||||
/* Note, we only list the DXFMT devcaps so far */
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_X8R8G8B8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_A8R8G8B8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R5G6B5),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_X1R5G5B5),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_A1R5G5B5),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_A4R4G4B4),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_Z_D32),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_Z_D16),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_Z_D24S8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_Z_D15S1),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_LUMINANCE8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_LUMINANCE4_ALPHA4),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_LUMINANCE16),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_LUMINANCE8_ALPHA8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_DXT1),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_DXT2),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_DXT3),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_DXT4),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_DXT5),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BUMPU8V8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BUMPL6V5U5),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BUMPX8L8V8U8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_FORMAT_DEAD1),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_ARGB_S10E5),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_ARGB_S23E8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_A2R10G10B10),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_V8U8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_Q8W8V8U8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_CxV8U8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_X8L8V8U8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_A2W10V10U10),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_ALPHA8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R_S10E5),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R_S23E8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_RG_S10E5),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_RG_S23E8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BUFFER),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_Z_D24X8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_V16U16),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_G16R16),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_A16B16G16R16),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_UYVY),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_YUY2),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_NV12),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_AYUV),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32B32A32_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32B32A32_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32B32A32_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32B32_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32B32_FLOAT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32B32_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32B32_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16B16A16_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16B16A16_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16B16A16_SNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16B16A16_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G8X24_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_D32_FLOAT_S8X24_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32_FLOAT_X8X24_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_X32_TYPELESS_G8X24_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R10G10B10A2_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R10G10B10A2_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R11G11B10_FLOAT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8B8A8_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8B8A8_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8B8A8_UNORM_SRGB),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8B8A8_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8B8A8_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_D32_FLOAT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R24G8_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_D24_UNORM_S8_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R24_UNORM_X8_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_X24_TYPELESS_G8_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16_SNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8_UINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8_SNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8_SINT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_P8),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R9G9B9E5_SHAREDEXP),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8_B8G8_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_G8R8_G8B8_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC1_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC1_UNORM_SRGB),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC2_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC2_UNORM_SRGB),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC3_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC3_UNORM_SRGB),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC4_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_ATI1),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC4_SNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC5_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_ATI2),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC5_SNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R10G10B10_XR_BIAS_A2_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_B8G8R8A8_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_B8G8R8A8_UNORM_SRGB),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_B8G8R8X8_TYPELESS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_B8G8R8X8_UNORM_SRGB),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_Z_DF16),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_Z_DF24),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_Z_D24S8_INT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_YV12),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32B32A32_FLOAT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16B16A16_FLOAT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16B16A16_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32G32_FLOAT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R10G10B10A2_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8B8A8_SNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16_FLOAT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16G16_SNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R32_FLOAT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R8G8_SNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_R16_FLOAT),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_D16_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_A8_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC1_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC2_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC3_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_B5G6R5_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_B5G5R5A1_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_B8G8R8A8_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_B8G8R8X8_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC4_UNORM),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DEVCAP_DXFMT_BC5_UNORM),
|
||||
DEBUG_NAMED_VALUE_END,
|
||||
};
|
||||
return debug_dump_enum(devcap_names, cap);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return string for a bitmask of name of SVGA3D_DXFMT_x flags.
|
||||
* For debugging.
|
||||
*/
|
||||
static const char *
|
||||
svga_devcap_format_flags(unsigned flags)
|
||||
{
|
||||
static const struct debug_named_value devcap_flags[] = {
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_SUPPORTED),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_SHADER_SAMPLE),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_COLOR_RENDERTARGET),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_DEPTH_RENDERTARGET),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_BLENDABLE),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_MIPS),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_ARRAY),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_VOLUME),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_DX_VERTEX_BUFFER),
|
||||
DEBUG_NAMED_VALUE(SVGA3D_DXFMT_MULTISAMPLE),
|
||||
DEBUG_NAMED_VALUE_END
|
||||
};
|
||||
|
||||
return debug_dump_flags(devcap_flags, flags);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Get format capabilities from the host. It takes in consideration
|
||||
* deprecated/unsupported formats, and formats which are implicitely assumed to
|
||||
|
|
@ -1625,6 +1809,15 @@ svga_get_format_cap(struct svga_screen *ss,
|
|||
/* Explicitly advertised format */
|
||||
if (entry->devcap > SVGA3D_DEVCAP_DXCONTEXT) {
|
||||
/* Translate DX/VGPU10 format cap to VGPU9 cap */
|
||||
|
||||
if (0) {
|
||||
debug_printf("format %s, devcap %s, value 0x%x (%s)\n",
|
||||
svga_format_name(format),
|
||||
svga_devcap_name(entry->devcap),
|
||||
result.u,
|
||||
svga_devcap_format_flags(result.u));
|
||||
}
|
||||
|
||||
caps->value = 0;
|
||||
if (result.u & SVGA3D_DXFMT_COLOR_RENDERTARGET)
|
||||
caps->value |= SVGA3DFORMAT_OP_OFFSCREEN_RENDERTARGET;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue