r600: Add support for GL_EXT_provoking_vertex
This commit is contained in:
@@ -85,6 +85,7 @@ int hw_tcl_on = 1;
|
||||
#define need_GL_EXT_framebuffer_object
|
||||
#define need_GL_EXT_fog_coord
|
||||
#define need_GL_EXT_gpu_program_parameters
|
||||
#define need_GL_EXT_provoking_vertex
|
||||
#define need_GL_EXT_secondary_color
|
||||
#define need_GL_EXT_stencil_two_side
|
||||
#define need_GL_ATI_separate_stencil
|
||||
@@ -117,6 +118,7 @@ const struct dri_extension card_extensions[] = {
|
||||
{"GL_EXT_packed_depth_stencil", NULL},
|
||||
{"GL_EXT_fog_coord", GL_EXT_fog_coord_functions },
|
||||
{"GL_EXT_gpu_program_parameters", GL_EXT_gpu_program_parameters_functions},
|
||||
{"GL_EXT_provoking_vertex", GL_EXT_provoking_vertex_functions },
|
||||
{"GL_EXT_secondary_color", GL_EXT_secondary_color_functions},
|
||||
{"GL_EXT_shadow_funcs", NULL},
|
||||
{"GL_EXT_stencil_two_side", GL_EXT_stencil_two_side_functions},
|
||||
|
||||
@@ -171,6 +171,14 @@ static void r700InvalidateState(GLcontext * ctx, GLuint new_state) //-----------
|
||||
R600_STATECHANGE(context, db_target);
|
||||
}
|
||||
|
||||
if (new_state & (_NEW_LIGHT)) {
|
||||
R600_STATECHANGE(context, su);
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION)
|
||||
SETbit(r700->PA_SU_SC_MODE_CNTL.u32All, PROVOKING_VTX_LAST_bit);
|
||||
else
|
||||
CLEARbit(r700->PA_SU_SC_MODE_CNTL.u32All, PROVOKING_VTX_LAST_bit);
|
||||
}
|
||||
|
||||
r700UpdateStateParameters(ctx, new_state);
|
||||
|
||||
R600_STATECHANGE(context, cl);
|
||||
|
||||
Reference in New Issue
Block a user