ctx->Multisample.SampleCoverage = GL_FALSE;
ctx->Multisample.SampleCoverageValue = 1.0;
ctx->Multisample.SampleCoverageInvert = GL_FALSE;
+ ctx->Multisample.SampleShading = GL_FALSE;
+ ctx->Multisample.MinSampleShadingValue = 0.0f;
/* ARB_texture_multisample / GL3.2 additions */
ctx->Multisample.SampleMask = GL_FALSE;
switch (pname) {
case GL_SAMPLE_POSITION: {
- if ((int) index >= ctx->DrawBuffer->Visual.samples) {
+ if (index >= ctx->DrawBuffer->Visual.samples) {
_mesa_error( ctx, GL_INVALID_VALUE, "glGetMultisamplefv(index)" );
return;
}
return;
}
+ case GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB:
+ if (!ctx->Extensions.ARB_sample_locations) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glGetMultisamplefv(pname)" );
+ return;
+ }
+
+ if (index >= MAX_SAMPLE_LOCATION_TABLE_SIZE * 2) {
+ _mesa_error( ctx, GL_INVALID_VALUE, "glGetMultisamplefv(index)" );
+ return;
+ }
+
+ if (ctx->DrawBuffer->SampleLocationTable)
+ *val = ctx->DrawBuffer->SampleLocationTable[index];
+ else
+ *val = 0.5f;
+
+ return;
+
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glGetMultisamplefv(pname)" );
return;
/**
* Called via glMinSampleShadingARB
*/
+void GLAPIENTRY
+_mesa_MinSampleShading_no_error(GLclampf value)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ min_sample_shading(ctx, value);
+}
+
void GLAPIENTRY
_mesa_MinSampleShading(GLclampf value)
{