st/mesa: don't ignore texture buffer state changes

Fixes piglit:
  spec@arb_texture_buffer_range@ranges-2

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Marek Olšák 2015-07-24 19:47:06 +02:00
parent a818faa6dd
commit e39ece0d78
3 changed files with 7 additions and 5 deletions

View file

@ -508,7 +508,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 */
};
@ -518,7 +518,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 */
};
@ -528,7 +528,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 */
};
@ -538,7 +538,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 */
};
@ -548,7 +548,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 */
};

View file

@ -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,

View file

@ -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 {