[Mesa-dev] [PATCH] st/mesa: don't ignore texture buffer state changes
Marek Olšák
maraeo at gmail.com
Fri Jul 24 10:48:36 PDT 2015
From: Marek Olšák <marek.olsak at amd.com>
Fixes piglit:
spec at arb_texture_buffer_range@ranges-2
Cc: mesa-stable at lists.freedesktop.org
---
src/mesa/state_tracker/st_atom_texture.c | 10 +++++-----
src/mesa/state_tracker/st_context.c | 1 +
src/mesa/state_tracker/st_context.h | 1 +
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c
index 4012d88..3d36a6d 100644
--- a/src/mesa/state_tracker/st_atom_texture.c
+++ b/src/mesa/state_tracker/st_atom_texture.c
@@ -540,7 +540,7 @@ const struct st_tracked_state st_update_fragment_texture = {
"st_update_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
- ST_NEW_FRAGMENT_PROGRAM, /* st */
+ ST_NEW_FRAGMENT_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
},
update_fragment_textures /* update */
};
@@ -550,7 +550,7 @@ const struct st_tracked_state st_update_vertex_texture = {
"st_update_vertex_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
- ST_NEW_VERTEX_PROGRAM, /* st */
+ ST_NEW_VERTEX_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
},
update_vertex_textures /* update */
};
@@ -560,7 +560,7 @@ const struct st_tracked_state st_update_geometry_texture = {
"st_update_geometry_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
- ST_NEW_GEOMETRY_PROGRAM, /* st */
+ ST_NEW_GEOMETRY_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
},
update_geometry_textures /* update */
};
@@ -570,7 +570,7 @@ const struct st_tracked_state st_update_tessctrl_texture = {
"st_update_tessctrl_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
- ST_NEW_TESSCTRL_PROGRAM, /* st */
+ ST_NEW_TESSCTRL_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
},
update_tessctrl_textures /* update */
};
@@ -580,7 +580,7 @@ const struct st_tracked_state st_update_tesseval_texture = {
"st_update_tesseval_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
- ST_NEW_TESSEVAL_PROGRAM, /* st */
+ ST_NEW_TESSEVAL_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
},
update_tesseval_textures /* update */
};
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 44244a1..72c23ca 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -314,6 +314,7 @@ static void st_init_driver_flags(struct gl_driver_flags *f)
f->NewRasterizerDiscard = ST_NEW_RASTERIZER;
f->NewUniformBuffer = ST_NEW_UNIFORM_BUFFER;
f->NewDefaultTessLevels = ST_NEW_TESS_STATE;
+ f->NewTextureBuffer = ST_NEW_SAMPLER_VIEWS;
}
struct st_context *st_create_context(gl_api api, struct pipe_context *pipe,
diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h
index 0d89260..48c9b6f 100644
--- a/src/mesa/state_tracker/st_context.h
+++ b/src/mesa/state_tracker/st_context.h
@@ -60,6 +60,7 @@ struct u_upload_mgr;
#define ST_NEW_UNIFORM_BUFFER (1 << 8)
#define ST_NEW_TESSCTRL_PROGRAM (1 << 9)
#define ST_NEW_TESSEVAL_PROGRAM (1 << 10)
+#define ST_NEW_SAMPLER_VIEWS (1 << 11)
struct st_state_flags {
--
2.1.4
More information about the mesa-dev
mailing list