projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mesa/tests: Sanity check the ES2 dispatch table
[mesa.git]
/
src
/
mesa
/
main
/
polygon.c
diff --git
a/src/mesa/main/polygon.c
b/src/mesa/main/polygon.c
index 30e4a606bb79ea78819b02f50ea3b860f2f788fb..d7d52daa89ef1cddd532323e732c66f100385174 100644
(file)
--- a/
src/mesa/main/polygon.c
+++ b/
src/mesa/main/polygon.c
@@
-30,10
+30,11
@@
#include "glheader.h"
#include "imports.h"
#include "glheader.h"
#include "imports.h"
-#include "bufferobj.h"
#include "context.h"
#include "image.h"
#include "enums.h"
#include "context.h"
#include "image.h"
#include "enums.h"
+#include "pack.h"
+#include "pbo.h"
#include "polygon.h"
#include "mtypes.h"
#include "polygon.h"
#include "mtypes.h"
@@
-142,6
+143,10
@@
_mesa_PolygonMode( GLenum face, GLenum mode )
switch (face) {
case GL_FRONT:
switch (face) {
case GL_FRONT:
+ if (ctx->API == API_OPENGL_CORE) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glPolygonMode(face)" );
+ return;
+ }
if (ctx->Polygon.FrontMode == mode)
return;
FLUSH_VERTICES(ctx, _NEW_POLYGON);
if (ctx->Polygon.FrontMode == mode)
return;
FLUSH_VERTICES(ctx, _NEW_POLYGON);
@@
-156,6
+161,10
@@
_mesa_PolygonMode( GLenum face, GLenum mode )
ctx->Polygon.BackMode = mode;
break;
case GL_BACK:
ctx->Polygon.BackMode = mode;
break;
case GL_BACK:
+ if (ctx->API == API_OPENGL_CORE) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glPolygonMode(face)" );
+ return;
+ }
if (ctx->Polygon.BackMode == mode)
return;
FLUSH_VERTICES(ctx, _NEW_POLYGON);
if (ctx->Polygon.BackMode == mode)
return;
FLUSH_VERTICES(ctx, _NEW_POLYGON);
@@
-190,11
+199,12
@@
_mesa_PolygonMode( GLenum face, GLenum mode )
* too.
*/
void
* too.
*/
void
-_mesa_polygon_stipple(
GL
context *ctx, const GLubyte *pattern)
+_mesa_polygon_stipple(
struct gl_
context *ctx, const GLubyte *pattern)
{
pattern = _mesa_map_validate_pbo_source(ctx, 2,
&ctx->Unpack, 32, 32, 1,
{
pattern = _mesa_map_validate_pbo_source(ctx, 2,
&ctx->Unpack, 32, 32, 1,
- GL_COLOR_INDEX, GL_BITMAP, pattern,
+ GL_COLOR_INDEX, GL_BITMAP,
+ INT_MAX, pattern,
"glPolygonStipple");
if (!pattern)
return;
"glPolygonStipple");
if (!pattern)
return;
@@
-230,7
+240,7
@@
_mesa_PolygonStipple( const GLubyte *pattern )
* Called by glPolygonStipple.
*/
void GLAPIENTRY
* Called by glPolygonStipple.
*/
void GLAPIENTRY
-_mesa_Get
PolygonStipple(
GLubyte *dest )
+_mesa_Get
nPolygonStippleARB( GLsizei bufSize,
GLubyte *dest )
{
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
{
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
@@
-240,8
+250,8
@@
_mesa_GetPolygonStipple( GLubyte *dest )
dest = _mesa_map_validate_pbo_dest(ctx, 2,
&ctx->Pack, 32, 32, 1,
dest = _mesa_map_validate_pbo_dest(ctx, 2,
&ctx->Pack, 32, 32, 1,
- GL_COLOR_INDEX, GL_BITMAP,
dest,
- "glGetPolygonStipple");
+ GL_COLOR_INDEX, GL_BITMAP,
+
bufSize, dest,
"glGetPolygonStipple");
if (!dest)
return;
if (!dest)
return;
@@
-251,6
+261,13
@@
_mesa_GetPolygonStipple( GLubyte *dest )
}
}
+void GLAPIENTRY
+_mesa_GetPolygonStipple( GLubyte *dest )
+{
+ _mesa_GetnPolygonStippleARB(INT_MAX, dest);
+}
+
+
void GLAPIENTRY
_mesa_PolygonOffset( GLfloat factor, GLfloat units )
{
void GLAPIENTRY
_mesa_PolygonOffset( GLfloat factor, GLfloat units )
{
@@
-293,10
+310,10
@@
_mesa_PolygonOffsetEXT( GLfloat factor, GLfloat bias )
*
* \param ctx GL context.
*
*
* \param ctx GL context.
*
- * Initializes __
GLcontextRec::Polygon and __GL
contextRec::PolygonStipple
+ * Initializes __
struct gl_contextRec::Polygon and __struct gl_
contextRec::PolygonStipple
* attribute groups.
*/
* attribute groups.
*/
-void _mesa_init_polygon(
GL
context * ctx )
+void _mesa_init_polygon(
struct gl_
context * ctx )
{
/* Polygon group */
ctx->Polygon.CullFlag = GL_FALSE;
{
/* Polygon group */
ctx->Polygon.CullFlag = GL_FALSE;