Pārlūkot izejas kodu

st/xorg: Find out correct type for depth stencil buffers

tags/mesa_7_6_rc1
Jakob Bornecrantz pirms 16 gadiem
vecāks
revīzija
23fe960be0

+ 11
- 1
src/gallium/state_trackers/xorg/xorg_dri2.c Parādīt failu

@@ -88,7 +88,8 @@ driCreateBuffers(DrawablePtr pDraw, unsigned int *attachments, int count)
struct pipe_texture template;
memset(&template, 0, sizeof(template));
template.target = PIPE_TEXTURE_2D;
template.format = PIPE_FORMAT_S8Z24_UNORM;
template.format = ms->ds_depth_bits_last ?
PIPE_FORMAT_S8Z24_UNORM : PIPE_FORMAT_Z24S8_UNORM;
pf_get_block(template.format, &template.block);
template.width[0] = pDraw->width;
template.height[0] = pDraw->height;
@@ -270,6 +271,15 @@ driScreenInit(ScreenPtr pScreen)
dri2info.DestroyBuffers = driDestroyBuffers;
dri2info.CopyRegion = driCopyRegion;

ms->d_depth_bits_last =
ms->screen->is_format_supported(ms->screen, PIPE_FORMAT_X8Z24_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0);
ms->ds_depth_bits_last =
ms->screen->is_format_supported(ms->screen, PIPE_FORMAT_S8Z24_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0);

return DRI2ScreenInit(pScreen, &dri2info);
}


+ 2
- 0
src/gallium/state_trackers/xorg/xorg_tracker.h Parādīt failu

@@ -87,6 +87,8 @@ typedef struct _modesettingRec
struct drm_api *api;
struct pipe_screen *screen;
struct pipe_context *ctx;
boolean d_depth_bits_last;
boolean ds_depth_bits_last;

/* exa */
void *exa;

Notiek ielāde…
Atcelt
Saglabāt