|
|
@@ -97,12 +97,6 @@ dri_fill_in_modes(struct dri_screen *screen, |
|
|
|
stencil_bits_array[0] = 0; |
|
|
|
depth_buffer_factor = 1; |
|
|
|
|
|
|
|
pf_z16 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z16_UNORM, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); |
|
|
|
pf_z32 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z32_UNORM, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); |
|
|
|
pf_x8z24 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_X8Z24_UNORM, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); |
|
|
@@ -115,9 +109,6 @@ dri_fill_in_modes(struct dri_screen *screen, |
|
|
|
pf_z24s8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z24S8_UNORM, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); |
|
|
|
pf_r5g6b5 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_R5G6B5_UNORM, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0); |
|
|
|
pf_a8r8g8b8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_A8R8G8B8_UNORM, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0); |
|
|
@@ -125,6 +116,26 @@ dri_fill_in_modes(struct dri_screen *screen, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0); |
|
|
|
|
|
|
|
/* we support buffers with different depths only if we can tell the driver |
|
|
|
* the actual depth of each of them. */ |
|
|
|
if (screen->sPriv->dri2.loader |
|
|
|
&& (screen->sPriv->dri2.loader->base.version > 2) |
|
|
|
&& (screen->sPriv->dri2.loader->getBuffersWithFormat != NULL)) { |
|
|
|
pf_z16 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z16_UNORM, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); |
|
|
|
pf_z32 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z32_UNORM, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); |
|
|
|
pf_r5g6b5 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_R5G6B5_UNORM, |
|
|
|
PIPE_TEXTURE_2D, |
|
|
|
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0); |
|
|
|
} else { |
|
|
|
pf_z16 = FALSE; |
|
|
|
pf_z32 = FALSE; |
|
|
|
pf_r5g6b5 = FALSE; |
|
|
|
} |
|
|
|
|
|
|
|
if (pf_z16) { |
|
|
|
depth_bits_array[depth_buffer_factor] = 16; |
|
|
|
stencil_bits_array[depth_buffer_factor++] = 0; |