#include "main/glformats.h"
#include "main/state.h"
#include "api_exec_decl.h"
+#include "main/framebuffer.h"
#include "state_tracker/st_format.h"
-#include "state_tracker/st_cb_msaa.h"
+#include "state_tracker/st_context.h"
/**
* Called via glSampleCoverageARB
ctx->Multisample.SampleMaskValue = ~(GLbitfield)0;
}
+static void
+get_sample_position(struct gl_context *ctx,
+ struct gl_framebuffer *fb,
+ GLuint index,
+ GLfloat *outPos)
+{
+ struct st_context *st = st_context(ctx);
+
+ st_validate_state(st, ST_PIPELINE_UPDATE_FRAMEBUFFER);
+
+ if (ctx->pipe->get_sample_position)
+ ctx->pipe->get_sample_position(ctx->pipe,
+ _mesa_geometric_samples(fb),
+ index, outPos);
+ else
+ outPos[0] = outPos[1] = 0.5f;
+}
void GLAPIENTRY
_mesa_GetMultisamplefv(GLenum pname, GLuint index, GLfloat * val)
return;
}
- st_GetSamplePosition(ctx, ctx->DrawBuffer, index, val);
+ get_sample_position(ctx, ctx->DrawBuffer, index, val);
/* FBOs can be upside down (winsys always are)*/
if (ctx->DrawBuffer->FlipY)
#include "pipe/p_context.h"
-
-void
-st_GetSamplePosition(struct gl_context *ctx,
- struct gl_framebuffer *fb,
- GLuint index,
- GLfloat *outPos)
-{
- struct st_context *st = st_context(ctx);
-
- st_validate_state(st, ST_PIPELINE_UPDATE_FRAMEBUFFER);
-
- if (st->pipe->get_sample_position)
- st->pipe->get_sample_position(st->pipe,
- _mesa_geometric_samples(fb),
- index, outPos);
- else
- outPos[0] = outPos[1] = 0.5f;
-}
-
-
void
st_GetProgrammableSampleCaps(struct gl_context *ctx, const struct gl_framebuffer *fb,
GLuint *outBits, GLuint *outWidth, GLuint *outHeight)
#include "main/glheader.h"
-void st_GetSamplePosition(struct gl_context *ctx,
- struct gl_framebuffer *fb,
- GLuint index,
- GLfloat *outPos);
void st_GetProgrammableSampleCaps(struct gl_context *ctx, const struct gl_framebuffer *fb,
GLuint *outBits, GLuint *outWidth, GLuint *outHeight);
#endif