On Mon, Oct 14, 2013 at 11:05 AM, Matt Turner <matts...@gmail.com> wrote: > On Mon, Oct 14, 2013 at 10:12 AM, Anuj Phogat <anuj.pho...@gmail.com> wrote: >> diff --git a/src/mapi/glapi/gen/GL3x.xml b/src/mapi/glapi/gen/GL3x.xml >> index 5078f7b..4ec4749 100644 >> --- a/src/mapi/glapi/gen/GL3x.xml >> +++ b/src/mapi/glapi/gen/GL3x.xml >> @@ -630,6 +630,11 @@ >> <param name="divisor" type="GLuint"/> >> </function> >> >> + <function name="MinSampleShading" offset="assign"> >> + <param name="value" type="GLclampf"/> >> + </function> >> + >> + >> </category> >> >> </OpenGLAPI> > > Does this need to be inside a new <category name="4.0"> since > MinSampleShading is new in GL 4.0? > That looks like right thing to do.
>> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml >> index 48fce36..8919852 100644 >> --- a/src/mapi/glapi/gen/gl_API.xml >> +++ b/src/mapi/glapi/gen/gl_API.xml >> @@ -8187,7 +8187,7 @@ >> <xi:include href="ARB_draw_buffers_blend.xml" >> xmlns:xi="http://www.w3.org/2001/XInclude"/> >> <xi:include href="AMD_draw_buffers_blend.xml" >> xmlns:xi="http://www.w3.org/2001/XInclude"/> >> >> -<!-- 70. GL_ARB_sample_shading --> >> +<xi:include href="ARB_sample_shading.xml" >> xmlns:xi="http://www.w3.org/2001/XInclude"/> >> <xi:include href="ARB_texture_cube_map_array.xml" >> xmlns:xi="http://www.w3.org/2001/XInclude"/> >> <xi:include href="ARB_texture_gather.xml" >> xmlns:xi="http://www.w3.org/2001/XInclude"/> >> <!-- 73. GL_ARB_texture_query_lod --> >> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c >> index 5e2fd80..83c59ee 100644 >> --- a/src/mesa/main/enable.c >> +++ b/src/mesa/main/enable.c >> @@ -802,6 +802,15 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, >> GLboolean state) >> ctx->Multisample.SampleCoverageInvert = state; >> break; >> >> + /*GL_ARB_sample_shading*/ >> + case GL_SAMPLE_SHADING_ARB: >> + CHECK_EXTENSION(ARB_sample_shading, cap); >> + if (ctx->Multisample.SampleShading == state) >> + return; >> + FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE); >> + ctx->Multisample.SampleShading = state; >> + break; >> + >> /* GL_IBM_rasterpos_clip */ >> case GL_RASTER_POSITION_UNCLIPPED_IBM: >> if (ctx->API != API_OPENGL_COMPAT) >> @@ -1594,6 +1603,13 @@ _mesa_IsEnabled( GLenum cap ) >> CHECK_EXTENSION(ARB_texture_multisample); >> return ctx->Multisample.SampleMask; >> >> + /* ARB_sample_shading */ >> + case GL_SAMPLE_SHADING_ARB: >> + if (!_mesa_is_desktop_gl(ctx)) >> + goto invalid_enum_error; >> + CHECK_EXTENSION(ARB_sample_shading); >> + return ctx->Multisample.SampleShading; >> + >> default: >> goto invalid_enum_error; >> } >> diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c >> index 89b3bf0..c52133e 100644 >> --- a/src/mesa/main/get.c >> +++ b/src/mesa/main/get.c >> @@ -894,6 +894,10 @@ find_custom_value(struct gl_context *ctx, const struct >> value_desc *d, union valu >> _mesa_problem(ctx, "driver doesn't implement GetTimestamp"); >> } >> break; >> + /* GL_ARB_sample_shading */ >> + case GL_MIN_SAMPLE_SHADING_VALUE_ARB: >> + v->value_float = ctx->Multisample.MinSampleShadingValue; >> + break; >> } >> } >> >> diff --git a/src/mesa/main/get_hash_params.py >> b/src/mesa/main/get_hash_params.py >> index 9c54af0..0d7effb 100644 >> --- a/src/mesa/main/get_hash_params.py >> +++ b/src/mesa/main/get_hash_params.py >> @@ -83,6 +83,9 @@ descriptor=[ >> [ "SAMPLE_BUFFERS_ARB", "BUFFER_INT(Visual.sampleBuffers), >> extra_new_buffers" ], >> [ "SAMPLES_ARB", "BUFFER_INT(Visual.samples), extra_new_buffers" ], >> >> +# GL_ARB_sample_shading >> + [ "MIN_SAMPLE_SHADING_VALUE_ARB", >> "CONTEXT_FLOAT(Multisample.MinSampleShadingValue), NO_EXTRA" ], >> + >> # GL_SGIS_generate_mipmap >> [ "GENERATE_MIPMAP_HINT_SGIS", "CONTEXT_ENUM(Hint.GenerateMipmap), >> NO_EXTRA" ], >> >> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h >> index 053514d..5520e86 100644 >> --- a/src/mesa/main/mtypes.h >> +++ b/src/mesa/main/mtypes.h >> @@ -872,6 +872,8 @@ struct gl_multisample_attrib >> GLboolean SampleCoverage; >> GLfloat SampleCoverageValue; >> GLboolean SampleCoverageInvert; >> + GLboolean SampleShading; >> + GLfloat MinSampleShadingValue; >> >> /* ARB_texture_multisample / GL3.2 additions */ >> GLboolean SampleMask; >> diff --git a/src/mesa/main/multisample.c b/src/mesa/main/multisample.c >> index bd97c50..892525e 100644 >> --- a/src/mesa/main/multisample.c >> +++ b/src/mesa/main/multisample.c >> @@ -119,6 +119,19 @@ _mesa_SampleMaski(GLuint index, GLbitfield mask) >> ctx->Multisample.SampleMaskValue = mask; >> } >> >> +/** >> + * Called via glMinSampleShadingARB >> + */ >> +void GLAPIENTRY >> +_mesa_MinSampleShading(GLclampf value) >> +{ >> + GET_CURRENT_CONTEXT(ctx); >> + >> + FLUSH_VERTICES(ctx, 0); >> + >> + ctx->Multisample.MinSampleShadingValue = (GLfloat) CLAMP(value, 0.0, >> 1.0); >> + ctx->NewState |= _NEW_MULTISAMPLE; >> +} >> >> /** >> * Helper for checking a requested sample count against the limit >> diff --git a/src/mesa/main/multisample.h b/src/mesa/main/multisample.h >> index 66848d2..7441d3e 100644 >> --- a/src/mesa/main/multisample.h >> +++ b/src/mesa/main/multisample.h >> @@ -44,6 +44,8 @@ _mesa_GetMultisamplefv(GLenum pname, GLuint index, >> GLfloat* val); >> extern void GLAPIENTRY >> _mesa_SampleMaski(GLuint index, GLbitfield mask); >> >> +extern void GLAPIENTRY >> +_mesa_MinSampleShading(GLclampf value); >> >> extern GLenum >> _mesa_check_sample_count(struct gl_context *ctx, GLenum target, >> diff --git a/src/mesa/main/tests/dispatch_sanity.cpp >> b/src/mesa/main/tests/dispatch_sanity.cpp >> index 244173a..19a77db 100644 >> --- a/src/mesa/main/tests/dispatch_sanity.cpp >> +++ b/src/mesa/main/tests/dispatch_sanity.cpp >> @@ -542,7 +542,7 @@ const struct function gl_core_functions_possible[] = { >> { "glVertexAttribDivisor", 33, -1 }, >> >> /* GL 4.0 */ >> -// { "glMinSampleShading", 40, -1 }, // XXX: Add to xml >> + { "glMinSampleShadingARB", 40, -1 }, >> // { "glBlendEquationi", 40, -1 }, // XXX: Add to xml >> // { "glBlendEquationSeparatei", 40, -1 }, // XXX: Add to xml >> // { "glBlendFunci", 40, -1 }, // XXX: Add to xml >> @@ -603,7 +603,7 @@ const struct function gl_core_functions_possible[] = { >> { "glBlendEquationSeparateiARB", 43, -1 }, >> { "glBlendFunciARB", 43, -1 }, >> { "glBlendFuncSeparateiARB", 43, -1 }, >> -// { "glMinSampleShadingARB", 43, -1 }, // XXX: Add to xml >> + { "glMinSampleShadingARB", 43, -1 }, > > Two instances of glMinSampleShadingARB? I think this might have been a > mistake in the code as it was. Yeah, one of them seems redundant. I'll remove it. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev