Lines Matching refs:ctx

53    GET_CURRENT_CONTEXT(ctx);
55 FLUSH_VERTICES(ctx, 0, 0);
58 _mesa_debug(ctx, "glDrawPixels(%d, %d, %s, %s, %p) // to %s at %ld, %ld\n",
63 _mesa_enum_to_string(ctx->DrawBuffer->ColorDrawBuffer[0]),
64 lroundf(ctx->Current.RasterPos[0]),
65 lroundf(ctx->Current.RasterPos[1]));
69 _mesa_error( ctx, GL_INVALID_VALUE, "glDrawPixels(width or height < 0)" );
76 _mesa_set_vp_override(ctx, GL_TRUE);
78 _mesa_update_pixel(ctx);
80 if (ctx->NewState)
81 _mesa_update_state(ctx);
83 if (!ctx->DrawPixValid) {
84 _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels");
101 _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels(integer format)");
105 err = _mesa_error_check_format_and_type(ctx, format, type);
107 _mesa_error(ctx, err, "glDrawPixels(invalid format %s and/or type %s)",
119 if (!_mesa_dest_buffer_exists(ctx, format)) {
120 _mesa_error(ctx, GL_INVALID_OPERATION,
126 if (ctx->PixelMaps.ItoR.Size == 0 ||
127 ctx->PixelMaps.ItoG.Size == 0 ||
128 ctx->PixelMaps.ItoB.Size == 0) {
129 _mesa_error(ctx, GL_INVALID_OPERATION,
141 if (ctx->RasterDiscard) {
145 if (!ctx->Current.RasterPosValid) {
149 if (ctx->RenderMode == GL_RENDER) {
152 GLint x = lroundf(ctx->Current.RasterPos[0]);
153 GLint y = lroundf(ctx->Current.RasterPos[1]);
155 if (ctx->Unpack.BufferObj) {
157 if (!_mesa_validate_pbo_access(2, &ctx->Unpack, width, height,
159 _mesa_error(ctx, GL_INVALID_OPERATION,
163 if (_mesa_check_disallowed_mapping(ctx->Unpack.BufferObj)) {
165 _mesa_error(ctx, GL_INVALID_OPERATION,
171 st_DrawPixels(ctx, x, y, width, height, format, type,
172 &ctx->Unpack, pixels);
175 else if (ctx->RenderMode == GL_FEEDBACK) {
177 FLUSH_CURRENT( ctx, 0 );
178 _mesa_feedback_token( ctx, (GLfloat) (GLint) GL_DRAW_PIXEL_TOKEN );
179 _mesa_feedback_vertex( ctx,
180 ctx->Current.RasterPos,
181 ctx->Current.RasterColor,
182 ctx->Current.RasterTexCoords[0] );
185 assert(ctx->RenderMode == GL_SELECT);
190 _mesa_set_vp_override(ctx, GL_FALSE);
193 _mesa_flush(ctx);
202 GET_CURRENT_CONTEXT(ctx);
204 FLUSH_VERTICES(ctx, 0, 0);
207 _mesa_debug(ctx,
211 _mesa_enum_to_string(ctx->ReadBuffer->ColorReadBuffer),
212 _mesa_enum_to_string(ctx->DrawBuffer->ColorDrawBuffer[0]),
213 lroundf(ctx->Current.RasterPos[0]),
214 lroundf(ctx->Current.RasterPos[1]));
217 _mesa_error(ctx, GL_INVALID_VALUE, "glCopyPixels(width or height < 0)");
231 _mesa_error(ctx, GL_INVALID_ENUM, "glCopyPixels(type=%s)",
238 !ctx->Extensions.NV_copy_depth_to_color) {
239 _mesa_error(ctx, GL_INVALID_ENUM, "glCopyPixels(type=%s)",
247 _mesa_set_vp_override(ctx, GL_TRUE);
249 _mesa_update_pixel(ctx);
251 if (ctx->NewState)
252 _mesa_update_state(ctx);
254 if (!ctx->DrawPixValid) {
255 _mesa_error(ctx, GL_INVALID_OPERATION, "glCopyPixels");
260 if (ctx->ReadBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
261 _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
266 if (_mesa_is_user_fbo(ctx->ReadBuffer) &&
267 ctx->ReadBuffer->Visual.samples > 0) {
268 _mesa_error(ctx, GL_INVALID_OPERATION,
273 if (!_mesa_source_buffer_exists(ctx, type) ||
274 !_mesa_dest_buffer_exists(ctx, type)) {
275 _mesa_error(ctx, GL_INVALID_OPERATION,
280 if (ctx->RasterDiscard) {
284 if (!ctx->Current.RasterPosValid || width == 0 || height == 0) {
288 if (ctx->RenderMode == GL_RENDER) {
291 GLint destx = lroundf(ctx->Current.RasterPos[0]);
292 GLint desty = lroundf(ctx->Current.RasterPos[1]);
293 st_CopyPixels( ctx, srcx, srcy, width, height, destx, desty,
297 else if (ctx->RenderMode == GL_FEEDBACK) {
298 FLUSH_CURRENT( ctx, 0 );
299 _mesa_feedback_token( ctx, (GLfloat) (GLint) GL_COPY_PIXEL_TOKEN );
300 _mesa_feedback_vertex( ctx,
301 ctx->Current.RasterPos,
302 ctx->Current.RasterColor,
303 ctx->Current.RasterTexCoords[0] );
306 assert(ctx->RenderMode == GL_SELECT);
311 _mesa_set_vp_override(ctx, GL_FALSE);
314 _mesa_flush(ctx);
324 GET_CURRENT_CONTEXT(ctx);
326 FLUSH_VERTICES(ctx, 0, 0);
329 _mesa_error( ctx, GL_INVALID_VALUE, "glBitmap(width or height < 0)" );
333 if (!ctx->Current.RasterPosValid) {
337 _mesa_update_pixel(ctx);
339 if (ctx->NewState)
340 _mesa_update_state(ctx);
342 if (!ctx->DrawPixValid) {
343 _mesa_error(ctx, GL_INVALID_OPERATION, "glBitmap");
347 if (ctx->RasterDiscard)
350 if (ctx->RenderMode == GL_RENDER) {
354 GLint x = util_ifloor(ctx->Current.RasterPos[0] + epsilon - xorig);
355 GLint y = util_ifloor(ctx->Current.RasterPos[1] + epsilon - yorig);
357 if (ctx->Unpack.BufferObj) {
359 if (!_mesa_validate_pbo_access(2, &ctx->Unpack, width, height,
362 _mesa_error(ctx, GL_INVALID_OPERATION,
366 if (_mesa_check_disallowed_mapping(ctx->Unpack.BufferObj)) {
368 _mesa_error(ctx, GL_INVALID_OPERATION,
374 st_Bitmap( ctx, x, y, width, height, &ctx->Unpack, bitmap );
377 else if (ctx->RenderMode == GL_FEEDBACK) {
378 FLUSH_CURRENT(ctx, 0);
379 _mesa_feedback_token( ctx, (GLfloat) (GLint) GL_BITMAP_TOKEN );
380 _mesa_feedback_vertex( ctx,
381 ctx->Current.RasterPos,
382 ctx->Current.RasterColor,
383 ctx->Current.RasterTexCoords[0] );
386 assert(ctx->RenderMode == GL_SELECT);
391 ctx->Current.RasterPos[0] += xmove;
392 ctx->Current.RasterPos[1] += ymove;
393 ctx->PopAttribState |= GL_CURRENT_BIT;
396 _mesa_flush(ctx);