----- Original Message ----- > The code expects the geometry shader to be NULL. > We don't have geometry shaders now, but it's good to be prepared. > > v2: check for support in the cso context > --- > src/gallium/auxiliary/cso_cache/cso_context.c | 17 > ++++++++++++++++- > src/gallium/auxiliary/util/u_blit.c | 6 ++++++ > src/gallium/auxiliary/util/u_gen_mipmap.c | 3 +++ > src/mesa/state_tracker/st_cb_bitmap.c | 5 +++++ > src/mesa/state_tracker/st_cb_clear.c | 3 +++ > src/mesa/state_tracker/st_cb_drawpixels.c | 4 ++++ > src/mesa/state_tracker/st_cb_drawtex.c | 3 +++ > src/mesa/state_tracker/st_extensions.c | 3 ++- > 8 files changed, 42 insertions(+), 2 deletions(-) >
Much nicer. Thanks Marek. [...] > @@ -785,7 +792,7 @@ void cso_restore_stencil_ref(struct cso_context > *ctx) > enum pipe_error cso_set_geometry_shader_handle(struct cso_context > *ctx, > void *handle) > { > - if (ctx->geometry_shader != handle) { > + if (ctx->has_geometry_shader && ctx->geometry_shader != handle) { In here it's better assert that when ctx->has_geometry_shader == FALSE, then handle must be NULL. > ctx->geometry_shader = handle; > ctx->pipe->bind_gs_state(ctx->pipe, handle); > } Otherwise looks great. Jose _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev