summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_blit.c
AgeCommit message (Collapse)Author
2010-11-09intel: Add assert check for blitting alignment.Peter Clifton
Also fixup code comment to reflect that the GPU requires DWORD alignment, but in this case does not actually pass the value "in DWORDs" as I previously stated.
2010-11-08intel: Fix emit_linear_blit to use DWORD aligned width blitsPeter Clifton
The width of the 2D blits used to copy the data is defined as a 16-bit signed integer, but the pitch must be DWORD aligned. Limit to an integral number of DWORDs, (1 << 15 - 4) rather than (1 << 15 -1). Fixes corruption to data uploaded with glBufferSubData. Signed-off-by: Peter Clifton <pcjc2@cam.ac.uk>
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-06-10i965: Add support for GL_ALPHA framebuffer objects.Eric Anholt
2010-06-08intel: Change dri_bo_* to drm_intel_bo* to consistently use new API.Eric Anholt
The slightly less mechanical change of converting the emit_reloc calls will follow.
2010-05-14i965: Support INTEL_DEBUG=clip to dump the clip program.Eric Anholt
2010-04-08intel: Call intel_prepare_render() in intelClear()Li Peng
Make sure we have up to date buffers before we start looking at the tiling bits to determine how to clear.
2010-03-22intel: Call intel_prepare_render() before looking up regions.Kristian Høgsberg
Fixes #27213.
2010-03-17intel: Return false like other blit failure paths if out of aperture.Eric Anholt
The primary consumer of this (miptree relayout) already has this code for handling failure, and the other paths want to know if failure actually occurs and do something appropriate, which may not include memcpy.
2010-03-17intel: Assert that the linear blits succeed.Eric Anholt
We don't have any fallback code here, and we want to avoid this path if failure would happen, so just assert.
2010-03-04intel: Remove non-kernel-exec-fencing support.Eric Anholt
Shaves 60k off the driver from removing the broken spans code. This means we now require 2.6.29, which seems fair given that it's a year old and we've removed support for non-KMS already in the last release of 2D.
2010-03-03i915: Tell the kernel when we actually need fence registers on our BOs.Eric Anholt
This improves tiled texture performance of OA on my 945 from 25.3fps to 29.0fps, whereas untiled is 28.2fps, by avoiding stalls for fence register changes.
2010-03-03intel: Use GTT mapping in the blit fallback path in case there's tiling.Eric Anholt
2010-02-25intel: Start adding defines and some bits for sandybridge bringup.Eric Anholt
2010-02-17intel: Implement the DRI2 invalidate function properlyKristian Høgsberg
This uses a stamp mechanisms to mark the DRI drawable as invalid. Instead of immediately updating the buffers we just bump the drawable stamp and call out to DRI2GetBuffers "later". "Later" used to be at LOCK_HARDWARE time, and this patch brings back callouts at the points where we used to call LOCK_HARDWARE. A new function, intel_prepare_render(), is called where we used to call LOCK_HARDWARE, and if the buffers are invalid, we call out to DRI2GetBuffers there. This lets us invalidate buffers only when notified instead of on every glViewport() call. If the loader calls the DRI invalidate entrypoint, we disable viewport triggered buffer invalidation. Additionally, we can clean up the old viewport mechanism a bit, since we can just invalidate the buffers and not worry about reentrancy and whatnot.
2010-02-06intel: Check aperture size when doing a blit glClear.Eric Anholt
Fixes failure in cairo-gl firefox-planet-gnome.
2010-01-30intel: Fix inverting of inversion test for windows in glClear cleanup.Eric Anholt
Bug #26290.
2010-01-26intel: Use a handy helper in glReadPixels source clipping.Eric Anholt
2010-01-26intel: Remove DRI1 junk from glClear blit implementation.Eric Anholt
2010-01-25Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/intel/intel_screen.c src/mesa/drivers/dri/intel/intel_swapbuffers.c src/mesa/drivers/dri/r300/r300_emit.c src/mesa/drivers/dri/r300/r300_ioctl.c src/mesa/drivers/dri/r300/r300_tex.c src/mesa/drivers/dri/r300/r300_texstate.c
2010-01-23intel: Remove unnecessary headers.Vinson Lee
2010-01-04intel: Drop batchbuffer cliprect_mode trackingKristian Høgsberg
2010-01-04intel: Drop LOCK/UNLOCK_HARDWARE()Kristian Høgsberg
2010-01-04intel: Drop DRI1 SwapBuffer implementationKristian Høgsberg
2010-01-04Remove leftover __DRI{screen,drawable,context}Private referencesKristian Høgsberg
As part of the DRI driver interface rewrite I merged __DRIscreenPrivate and __DRIscreen, and likewise for __DRIdrawablePrivate and __DRIcontextPrivate. I left typedefs in place though, to avoid renaming all the *Private use internal to the driver. That was probably a mistake, and it turns out a one-line find+sed combo can do the mass rename. Better late than never.
2009-12-22intel: Remove unused stored values reported by clang.Eric Anholt
2009-12-11Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/drivers/dri/intel/intel_span.c
2009-12-10intel: Axe intel_renderbuffer::texformatIan Romanick
Since the texformat branch merge, the value of intel_renderbuffer::texformat is just a copy of gl_renderbuffer::Format.
2009-11-19intel: Pack colors for blit at blit time, rather than at ClearColor.Eric Anholt
2009-10-29intel: update intel_create_renderbuffer(format), add XRGB supportBrian Paul
Pass a gl_format to intel_create_renderbuffer() instead of GLenum. Add cases for MESA_FORMAT_XRGB8888 textures and renderbuffers. However, we don't yet create any renderbuffers or textures with that format. It seems the default alpha value is zero instead of one. Need to investigate that first.
2009-10-28Merge branch 'texformat-rework'Brian Paul
Conflicts: src/mesa/drivers/dri/radeon/radeon_fbo.c src/mesa/drivers/dri/s3v/s3v_tex.c src/mesa/drivers/dri/s3v/s3v_xmesa.c src/mesa/drivers/dri/trident/trident_context.c src/mesa/main/debug.c src/mesa/main/mipmap.c src/mesa/main/texformat.c src/mesa/main/texgetimage.c
2009-10-23Merge remote branch 'origin/mesa_7_6_branch'Eric Anholt
Conflicts: src/mesa/drivers/dri/intel/intel_fbo.c src/mesa/drivers/dri/intel/intel_mipmap_tree.c src/mesa/drivers/dri/intel/intel_mipmap_tree.h src/mesa/drivers/dri/intel/intel_tex_copy.c src/mesa/drivers/dri/intel/intel_tex_image.c
2009-10-23intel: Keep track of x,y offsets in miptrees and use them for blitting.Eric Anholt
By just using offsets, we confused the hardware's tiling calculations, resulting in failures in miptree validation and blit clears. Fixes piglit fbo-clearmipmap. Bug #23552. (automatic mipmap generation)
2009-10-05drivers: don't include texformat.hBrian Paul
And remove other unneeded #includes while we're at it.
2009-10-02intel: Remove an unexplained flush from intelClearWithBlit.Eric Anholt
2009-09-30mesa: replace gl_texture_format with gl_formatBrian Paul
Now gl_texture_image::TexFormat is a simple MESA_FORMAT_x enum. ctx->Driver.ChooseTexture format also returns a MESA_FORMAT_x. gl_texture_format will go away next.
2009-09-08intel: #include clean-upsBrian Paul
2009-08-28intel: Add support for GL_ARB_map_buffer_range.Eric Anholt
Passes glean's bufferObject test, and should provide good performance in the cases applications are expected to use.
2009-08-07intel: Add some more safety asserts in the blit code.Eric Anholt
2009-06-29intel: Make LOCK_HARDWARE recursive to avoid hand-rolling recursiveness.Eric Anholt
2009-06-23intel: Bail on blits with non-tile-aligned offsets.Eric Anholt
2009-06-23intel: Avoid trying to do blits to Y tiled regions.Eric Anholt
This is somewhat nasty, but we need to do Y-tiled depth for FBO support. May help with corruption and hangs since enabling texture tiling, and since switching depth textures to Y tiled. Fixes piglit depthtex.c on 965.
2009-06-23intel: Remove long-unused intel_region_fill and intelEmitFillBlit.Eric Anholt
2009-04-16intel: Add support for argb1555, argb4444 FBOs and fix rgb565 fbo readpixels.Eric Anholt
Also enable them all regardless of screen bpp, as 32 bpp what I've been testing against, and haven't been able to detect any screen bpp-specific troubles with them.
2009-03-28fix various small intel blitter issuesRoland Scheidegger
use color format constants instead of magic numbers remove handling of cpp 0 or 3 (neither is possible) in various places don't misconfigure 8 bit surface blits as rgb565
2009-03-05intel: Fix bpp setting of blits to 8bpp targets.Eric Anholt
This was causing hangs in cairogears, as we would blit to the 8bpp target (A8 texture) as 16bpp, and stomp over state objects.
2009-03-05intel: Remove a gratuitous MI_FLUSH after clearing with a blit.Eric Anholt
The 3D destination shares the same cache so we don't have any trouble with the later commands needing the writes flushed inside of the same batchbuffer.
2009-01-20Remove intel pageflipping support in its entirety.Owain G. Ainsworth
It's been broken and deprecated for a while, so it's time to die. This has the wonderful benefit of cleaning up the code a fair amount; making it marginally less twisty. I'm unsure if the for loops in IntelWindowMoved are still needed.
2008-12-08intel: Require the right amount of space in glBitmap blit acceleration.Pierre Willenbrock
This leads to problems when the batchbuffer is flushed, but the bitmap data could not fit into it.
2008-11-21i965: Add support for accelerated CopyTexSubImage.Eric Anholt
There were hacks in EmitCopyBlit before to adjust offsets so that y=0 after the offsets had been adjusted for a negative pitch. It appears that those hacks were due to an unclear and surprising aspect of the hardware: inverting the pitch results in the blit into the specified rectangle being inverted, without the user needing to adjust y and base offset. Tested with piglit copytexsubimage test on 915GM and GM965. Should fix serious performance issues with ETQW and other applications.