Summary: | [llvmpipe] SIGSEGV src/gallium/drivers/llvmpipe/lp_texture.c:600 | ||
---|---|---|---|
Product: | Mesa | Reporter: | Vinson Lee <vlee> |
Component: | Other | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | medium | CC: | brianp, jfonseca, sroland |
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Vinson Lee
2014-04-03 19:00:38 UTC
The problem is we're mapping the same texture (but different slices) multiple times simultaneously. The state tracker doesn't support that. This assertion fails if I put it in st_texture.c: --- a/src/mesa/state_tracker/st_texture.c +++ b/src/mesa/state_tracker/st_texture.c @@ -256,6 +256,9 @@ st_texture_image_map(struct st_context *st, struct st_textur e_image *stImage, else level = stImage->base.Level; + /* check that the texture's not already mapped */ + assert(!stImage->transfer); + return pipe_transfer_map_3d(st->pipe, stImage->pt, level, usage, x, y, z + stImage->base.Face, w, h, d, &stImage->transfer); Gallium allows mapping multiple slices of a 3D texture, but not Mesa's ctx->Driver.MapTextureImage. This is fixed (probably by 26c41398cc47c0f72259a34406831443238b7ba9). |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.