Lines Matching full:ctx
51 fast_draw_rgb_ubyte_pixels(struct gl_context *ctx,
67 ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height,
71 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glDrawPixels");
75 if (ctx->Pixel.ZoomY == -1.0f) {
89 ctx->Driver.UnmapRenderbuffer(ctx, rb);
98 fast_draw_rgba_ubyte_pixels(struct gl_context *ctx,
114 ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height,
118 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glDrawPixels");
122 if (ctx->Pixel.ZoomY == -1.0f) {
137 ctx->Driver.UnmapRenderbuffer(ctx, rb);
146 fast_draw_generic_pixels(struct gl_context *ctx,
164 ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height,
168 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glDrawPixels");
172 if (ctx->Pixel.ZoomY == -1.0f) {
183 ctx->Driver.UnmapRenderbuffer(ctx, rb);
192 fast_draw_rgba_pixels(struct gl_context *ctx, GLint x, GLint y,
198 struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0];
199 SWcontext *swrast = SWRAST_CONTEXT(ctx);
205 if (ctx->DrawBuffer->_NumColorDrawBuffers > 1 ||
207 ctx->Texture._EnabledCoordUnits ||
209 ctx->Pixel.ZoomX != 1.0f ||
210 fabsf(ctx->Pixel.ZoomY) != 1.0f ||
211 ctx->_ImageTransferState) {
219 if (!_mesa_clip_drawpixels(ctx, &x, &y, &width, &height, &unpack)) {
228 fast_draw_rgb_ubyte_pixels(ctx, rb, x, y, width, height,
237 fast_draw_rgba_ubyte_pixels(ctx, rb, x, y, width, height,
243 ctx->Unpack.SwapBytes)) {
244 fast_draw_generic_pixels(ctx, rb, x, y, width, height,
259 draw_stencil_pixels( struct gl_context *ctx, GLint x, GLint y,
265 const GLboolean zoom = ctx->Pixel.ZoomX != 1.0 || ctx->Pixel.ZoomY != 1.0;
272 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glDrawPixels");
281 _mesa_unpack_stencil_span(ctx, width, destType, values,
283 ctx->_ImageTransferState);
285 _swrast_write_zoomed_stencil_span(ctx, x, y, width,
289 _swrast_write_stencil_span(ctx, width, x, y, values);
303 draw_depth_pixels( struct gl_context *ctx, GLint x, GLint y,
310 = ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0;
311 const GLboolean zoom = ctx->Pixel.ZoomX != 1.0 || ctx->Pixel.ZoomY != 1.0;
316 _swrast_span_default_attribs(ctx, &span);
319 && ctx->DrawBuffer->Visual.depthBits == 16
336 _swrast_write_rgba_span(ctx, &span);
345 const GLint shift = 32 - ctx->DrawBuffer->Visual.depthBits;
362 _swrast_write_rgba_span(ctx, &span);
367 const GLuint depthMax = ctx->DrawBuffer->_DepthMax;
388 _mesa_unpack_depth_span(ctx, spanWidth,
392 _swrast_write_zoomed_depth_span(ctx, x, y, &span);
395 _swrast_write_rgba_span(ctx, &span);
409 draw_rgba_pixels( struct gl_context *ctx, GLint x, GLint y,
416 const GLboolean zoom = ctx->Pixel.ZoomX!=1.0 || ctx->Pixel.ZoomY!=1.0;
418 GLbitfield transferOps = ctx->_ImageTransferState;
422 if (fast_draw_rgba_pixels(ctx, x, y, width, height, format, type,
427 swrast_render_start(ctx);
430 _swrast_span_default_attribs(ctx, &span);
434 if (ctx->DrawBuffer->_NumColorDrawBuffers > 0) {
436 ctx->DrawBuffer->_ColorDrawBuffers[0]->Format);
438 ctx->Color.ClampFragmentColor != GL_FALSE) {
467 _mesa_unpack_color_span_float(ctx, spanWidth, GL_RGBA, rgba,
480 _swrast_write_zoomed_rgba_span(ctx, imgX, imgY, &span, rgba);
483 _swrast_write_rgba_span(ctx, &span);
500 swrast_render_finish(ctx);
509 fast_draw_depth_stencil(struct gl_context *ctx, GLint x, GLint y,
517 ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Renderbuffer;
549 draw_depth_stencil_pixels(struct gl_context *ctx, GLint x, GLint y,
556 = ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0;
557 const GLuint stencilMask = ctx->Stencil.WriteMask[0];
559 const GLboolean zoom = ctx->Pixel.ZoomX != 1.0 || ctx->Pixel.ZoomY != 1.0;
564 if (!_mesa_clip_drawpixels(ctx, &x, &y, &width, &height,
571 depthRb = ctx->ReadBuffer->Attachment[BUFFER_DEPTH].Renderbuffer;
572 stencilRb = ctx->ReadBuffer->Attachment[BUFFER_STENCIL].Renderbuffer;
582 ctx->Depth.Mask &&
584 fast_draw_depth_stencil(ctx, x, y, width, height,
597 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glDrawPixels");
606 if (ctx->Depth.Mask) {
607 _mesa_unpack_depth_span(ctx, width,
615 _swrast_write_zoomed_z_span(ctx, imgX, imgY, width, x,
627 _mesa_unpack_stencil_span(ctx, width, stencilType, stencilValues,
629 ctx->_ImageTransferState);
631 _swrast_write_zoomed_stencil_span(ctx, imgX, imgY, width,
634 _swrast_write_stencil_span(ctx, width, x, y + i, stencilValues);
648 _swrast_DrawPixels( struct gl_context *ctx,
655 SWcontext *swrast = SWRAST_CONTEXT(ctx);
656 GLboolean save_vp_override = ctx->VertexProgram._Overriden;
658 if (!_mesa_check_conditional_render(ctx))
669 _mesa_set_vp_override(ctx, GL_TRUE);
671 if (ctx->NewState)
672 _mesa_update_state(ctx);
675 _swrast_validate_derived( ctx );
677 pixels = _mesa_map_pbo_source(ctx, unpack, pixels);
679 _mesa_set_vp_override(ctx, save_vp_override);
688 swrast_render_start(ctx);
689 draw_stencil_pixels( ctx, x, y, width, height, type, unpack, pixels );
690 swrast_render_finish(ctx);
693 swrast_render_start(ctx);
694 draw_depth_pixels( ctx, x, y, width, height, type, unpack, pixels );
695 swrast_render_finish(ctx);
698 swrast_render_start(ctx);
699 draw_depth_stencil_pixels(ctx, x, y, width, height, type, unpack, pixels);
700 swrast_render_finish(ctx);
704 draw_rgba_pixels(ctx, x, y, width, height, format, type, unpack, pixels);
707 _mesa_set_vp_override(ctx, save_vp_override);
709 _mesa_unmap_pbo_source(ctx, unpack);