Lines Matching refs:ctx
49 GET_CURRENT_CONTEXT(ctx);
51 if (ctx->Pixel.ZoomX == xfactor &&
52 ctx->Pixel.ZoomY == yfactor)
55 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
56 ctx->Pixel.ZoomX = xfactor;
57 ctx->Pixel.ZoomY = yfactor;
70 get_pixelmap(struct gl_context *ctx, GLenum map)
74 return &ctx->PixelMaps.ItoI;
76 return &ctx->PixelMaps.StoS;
78 return &ctx->PixelMaps.ItoR;
80 return &ctx->PixelMaps.ItoG;
82 return &ctx->PixelMaps.ItoB;
84 return &ctx->PixelMaps.ItoA;
86 return &ctx->PixelMaps.RtoR;
88 return &ctx->PixelMaps.GtoG;
90 return &ctx->PixelMaps.BtoB;
92 return &ctx->PixelMaps.AtoA;
103 store_pixelmap(struct gl_context *ctx, GLenum map, GLsizei mapsize,
107 struct gl_pixelmap *pm = get_pixelmap(ctx, map);
109 _mesa_error(ctx, GL_INVALID_ENUM, "glPixelMap(map)");
116 ctx->PixelMaps.StoS.Size = mapsize;
118 ctx->PixelMaps.StoS.Map[i] = roundf(values[i]);
123 ctx->PixelMaps.ItoI.Size = mapsize;
125 ctx->PixelMaps.ItoI.Map[i] = values[i];
143 validate_pbo_access(struct gl_context *ctx,
151 _mesa_reference_buffer_object(ctx,
152 &ctx->DefaultPacking.BufferObj,
155 ok = _mesa_validate_pbo_access(1, &ctx->DefaultPacking, mapsize, 1, 1,
159 _mesa_reference_buffer_object(ctx,
160 &ctx->DefaultPacking.BufferObj, NULL);
164 _mesa_error(ctx, GL_INVALID_OPERATION,
167 _mesa_error(ctx, GL_INVALID_OPERATION,
179 GET_CURRENT_CONTEXT(ctx);
181 /* XXX someday, test against ctx->Const.MaxPixelMapTableSize */
183 _mesa_error( ctx, GL_INVALID_VALUE, "glPixelMapfv(mapsize)" );
190 _mesa_error( ctx, GL_INVALID_VALUE, "glPixelMapfv(mapsize)" );
195 FLUSH_VERTICES(ctx, _NEW_PIXEL, 0);
197 if (!validate_pbo_access(ctx, &ctx->Unpack, mapsize, GL_INTENSITY,
202 values = (const GLfloat *) _mesa_map_pbo_source(ctx, &ctx->Unpack, values);
204 if (ctx->Unpack.BufferObj) {
205 _mesa_error(ctx, GL_INVALID_OPERATION,
211 store_pixelmap(ctx, map, mapsize, values);
213 _mesa_unmap_pbo_source(ctx, &ctx->Unpack);
221 GET_CURRENT_CONTEXT(ctx);
224 _mesa_error( ctx, GL_INVALID_VALUE, "glPixelMapuiv(mapsize)" );
231 _mesa_error( ctx, GL_INVALID_VALUE, "glPixelMapuiv(mapsize)" );
236 FLUSH_VERTICES(ctx, _NEW_PIXEL, 0);
238 if (!validate_pbo_access(ctx, &ctx->Unpack, mapsize, GL_INTENSITY,
243 values = (const GLuint *) _mesa_map_pbo_source(ctx, &ctx->Unpack, values);
245 if (ctx->Unpack.BufferObj) {
246 _mesa_error(ctx, GL_INVALID_OPERATION,
266 _mesa_unmap_pbo_source(ctx, &ctx->Unpack);
268 store_pixelmap(ctx, map, mapsize, fvalues);
276 GET_CURRENT_CONTEXT(ctx);
279 _mesa_error( ctx, GL_INVALID_VALUE, "glPixelMapusv(mapsize)" );
286 _mesa_error( ctx, GL_INVALID_VALUE, "glPixelMapusv(mapsize)" );
291 FLUSH_VERTICES(ctx, _NEW_PIXEL, 0);
293 if (!validate_pbo_access(ctx, &ctx->Unpack, mapsize, GL_INTENSITY,
298 values = (const GLushort *) _mesa_map_pbo_source(ctx, &ctx->Unpack, values);
300 if (ctx->Unpack.BufferObj) {
301 _mesa_error(ctx, GL_INVALID_OPERATION,
321 _mesa_unmap_pbo_source(ctx, &ctx->Unpack);
323 store_pixelmap(ctx, map, mapsize, fvalues);
330 GET_CURRENT_CONTEXT(ctx);
334 pm = get_pixelmap(ctx, map);
336 _mesa_error(ctx, GL_INVALID_ENUM, "glGetPixelMapfv(map)");
342 if (!validate_pbo_access(ctx, &ctx->Pack, mapsize, GL_INTENSITY,
347 if (ctx->Pack.BufferObj)
348 ctx->Pack.BufferObj->UsageHistory |= USAGE_PIXEL_PACK_BUFFER;
350 values = (GLfloat *) _mesa_map_pbo_dest(ctx, &ctx->Pack, values);
352 if (ctx->Pack.BufferObj) {
353 _mesa_error(ctx, GL_INVALID_OPERATION,
362 values[i] = (GLfloat) ctx->PixelMaps.StoS.Map[i];
369 _mesa_unmap_pbo_dest(ctx, &ctx->Pack);
382 GET_CURRENT_CONTEXT(ctx);
386 pm = get_pixelmap(ctx, map);
388 _mesa_error(ctx, GL_INVALID_ENUM, "glGetPixelMapuiv(map)");
394 if (!validate_pbo_access(ctx, &ctx->Pack, mapsize, GL_INTENSITY,
399 if (ctx->Pack.BufferObj)
400 ctx->Pack.BufferObj->UsageHistory |= USAGE_PIXEL_PACK_BUFFER;
402 values = (GLuint *) _mesa_map_pbo_dest(ctx, &ctx->Pack, values);
404 if (ctx->Pack.BufferObj) {
405 _mesa_error(ctx, GL_INVALID_OPERATION,
413 memcpy(values, ctx->PixelMaps.StoS.Map, mapsize * sizeof(GLint));
421 _mesa_unmap_pbo_dest(ctx, &ctx->Pack);
434 GET_CURRENT_CONTEXT(ctx);
438 pm = get_pixelmap(ctx, map);
440 _mesa_error(ctx, GL_INVALID_ENUM, "glGetPixelMapusv(map)");
446 if (!validate_pbo_access(ctx, &ctx->Pack, mapsize, GL_INTENSITY,
451 if (ctx->Pack.BufferObj)
452 ctx->Pack.BufferObj->UsageHistory |= USAGE_PIXEL_PACK_BUFFER;
454 values = (GLushort *) _mesa_map_pbo_dest(ctx, &ctx->Pack, values);
456 if (ctx->Pack.BufferObj) {
457 _mesa_error(ctx, GL_INVALID_OPERATION,
467 values[i] = (GLushort) CLAMP(ctx->PixelMaps.ItoI.Map[i], 0.0F, 65535.0F);
472 values[i] = (GLushort) CLAMP(ctx->PixelMaps.StoS.Map[i], 0.0F, 65535.0F);
481 _mesa_unmap_pbo_dest(ctx, &ctx->Pack);
504 GET_CURRENT_CONTEXT(ctx);
508 if (ctx->Pixel.MapColorFlag == (param ? GL_TRUE : GL_FALSE))
510 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
511 ctx->Pixel.MapColorFlag = param ? GL_TRUE : GL_FALSE;
514 if (ctx->Pixel.MapStencilFlag == (param ? GL_TRUE : GL_FALSE))
516 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
517 ctx->Pixel.MapStencilFlag = param ? GL_TRUE : GL_FALSE;
520 if (ctx->Pixel.IndexShift == (GLint) param)
522 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
523 ctx->Pixel.IndexShift = (GLint) param;
526 if (ctx->Pixel.IndexOffset == (GLint) param)
528 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
529 ctx->Pixel.IndexOffset = (GLint) param;
532 if (ctx->Pixel.RedScale == param)
534 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
535 ctx->Pixel.RedScale = param;
538 if (ctx->Pixel.RedBias == param)
540 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
541 ctx->Pixel.RedBias = param;
544 if (ctx->Pixel.GreenScale == param)
546 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
547 ctx->Pixel.GreenScale = param;
550 if (ctx->Pixel.GreenBias == param)
552 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
553 ctx->Pixel.GreenBias = param;
556 if (ctx->Pixel.BlueScale == param)
558 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
559 ctx->Pixel.BlueScale = param;
562 if (ctx->Pixel.BlueBias == param)
564 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
565 ctx->Pixel.BlueBias = param;
568 if (ctx->Pixel.AlphaScale == param)
570 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
571 ctx->Pixel.AlphaScale = param;
574 if (ctx->Pixel.AlphaBias == param)
576 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
577 ctx->Pixel.AlphaBias = param;
580 if (ctx->Pixel.DepthScale == param)
582 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
583 ctx->Pixel.DepthScale = param;
586 if (ctx->Pixel.DepthBias == param)
588 FLUSH_VERTICES(ctx, _NEW_PIXEL, GL_PIXEL_MODE_BIT);
589 ctx->Pixel.DepthBias = param;
592 _mesa_error( ctx, GL_INVALID_ENUM, "glPixelTransfer(pname)" );
616 _mesa_update_pixel( struct gl_context *ctx )
620 if (ctx->Pixel.RedScale != 1.0F || ctx->Pixel.RedBias != 0.0F ||
621 ctx->Pixel.GreenScale != 1.0F || ctx->Pixel.GreenBias != 0.0F ||
622 ctx->Pixel.BlueScale != 1.0F || ctx->Pixel.BlueBias != 0.0F ||
623 ctx->Pixel.AlphaScale != 1.0F || ctx->Pixel.AlphaBias != 0.0F)
626 if (ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset)
629 if (ctx->Pixel.MapColorFlag)
632 ctx->_ImageTransferState = mask;
652 _mesa_init_pixel( struct gl_context *ctx )
655 ctx->Pixel.RedBias = 0.0;
656 ctx->Pixel.RedScale = 1.0;
657 ctx->Pixel.GreenBias = 0.0;
658 ctx->Pixel.GreenScale = 1.0;
659 ctx->Pixel.BlueBias = 0.0;
660 ctx->Pixel.BlueScale = 1.0;
661 ctx->Pixel.AlphaBias = 0.0;
662 ctx->Pixel.AlphaScale = 1.0;
663 ctx->Pixel.DepthBias = 0.0;
664 ctx->Pixel.DepthScale = 1.0;
665 ctx->Pixel.IndexOffset = 0;
666 ctx->Pixel.IndexShift = 0;
667 ctx->Pixel.ZoomX = 1.0;
668 ctx->Pixel.ZoomY = 1.0;
669 ctx->Pixel.MapColorFlag = GL_FALSE;
670 ctx->Pixel.MapStencilFlag = GL_FALSE;
671 init_pixelmap(&ctx->PixelMaps.StoS);
672 init_pixelmap(&ctx->PixelMaps.ItoI);
673 init_pixelmap(&ctx->PixelMaps.ItoR);
674 init_pixelmap(&ctx->PixelMaps.ItoG);
675 init_pixelmap(&ctx->PixelMaps.ItoB);
676 init_pixelmap(&ctx->PixelMaps.ItoA);
677 init_pixelmap(&ctx->PixelMaps.RtoR);
678 init_pixelmap(&ctx->PixelMaps.GtoG);
679 init_pixelmap(&ctx->PixelMaps.BtoB);
680 init_pixelmap(&ctx->PixelMaps.AtoA);
682 if (ctx->Visual.doubleBufferMode) {
683 ctx->Pixel.ReadBuffer = GL_BACK;
686 ctx->Pixel.ReadBuffer = GL_FRONT;
690 ctx->_ImageTransferState = 0;