[Mesa-dev] [PATCH 3/3] st/mesa: shader image atoms must be before framebuffer update

Nicolai Hähnle nhaehnle at gmail.com
Sat Feb 20 21:39:48 UTC 2016


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

The reason is that the shader image atoms call st_finalize_texture, which
may set ST_NEW_FRAMEBUFFER.

This fixes an assertion triggered by a subtest of piglit's
arb_shader_image_load_store-invalid.
---
 src/mesa/state_tracker/st_atom.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom.c b/src/mesa/state_tracker/st_atom.c
index 622621b..73b10ba 100644
--- a/src/mesa/state_tracker/st_atom.c
+++ b/src/mesa/state_tracker/st_atom.c
@@ -62,6 +62,11 @@ static const struct st_tracked_state *render_atoms[] =
    &st_update_tessctrl_texture,
    &st_update_tesseval_texture,
    &st_update_sampler, /* depends on update_*_texture for swizzle */
+   &st_bind_vs_images,
+   &st_bind_tcs_images,
+   &st_bind_tes_images,
+   &st_bind_gs_images,
+   &st_bind_fs_images,
    &st_update_framebuffer,
    &st_update_msaa,
    &st_update_sample_shading,
@@ -85,11 +90,6 @@ static const struct st_tracked_state *render_atoms[] =
    &st_bind_tes_ssbos,
    &st_bind_fs_ssbos,
    &st_bind_gs_ssbos,
-   &st_bind_vs_images,
-   &st_bind_tcs_images,
-   &st_bind_tes_images,
-   &st_bind_gs_images,
-   &st_bind_fs_images,
    &st_update_pixel_transfer,
    &st_update_tess,
 
-- 
2.5.0



More information about the mesa-dev mailing list