summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_fbo.c
AgeCommit message (Collapse)Author
2009-09-19mesa: rename functions to be more consistant with rest of mesaBrian Paul
2009-08-10intel: use new _mesa_meta_blit_framebuffer() functionBrian Paul
The previous version of framebuffer blit was a quick hack. The new meta version works pretty well.
2009-07-03Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
2009-07-03intel: Also update stencil bits in intel_update_wrapper().Michel Dänzer
Fixes assertion failure when binding depth/stencil texture to FBO stencil attachment.
2009-06-04intel: Add support for tiled textures.Eric Anholt
This is about a 30% performance win in OA with high settings on my GM45, and experiments with 915GM indicate that it'll be around a 20% win there. Currently, 915-class hardware is seriously hurt by the fact that we use fence regs to control the tiling even for 3D instructions that could live without them, so we spend a bunch of time waiting on previous rendering in order to pull fences off. Thus, the texture_tiling driconf option defaults off there for now.
2009-05-21intel: Fall back on any rendering to texture with no miptree.Eric Anholt
Fixes segfault on an fbo.c negative test for FBO with texture width/height of 0. Previously we just tested for border != 0 to work around this segfault.
2009-05-21intel: Mark the FBO as incomplete if there's no intel_renderbuffer for it.Eric Anholt
This happens to rendering with textures with a border, which had resulted in a segfault on dereferencing the irb.
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-05i965: fix screen depth test in intel_validate_framebuffer)_Brian Paul
front_region may be null.
2009-02-26intel: no-op the intel_finish_render_texture() functionBrian Paul
It doesn't have to do anything. See comments for more details.
2009-02-26intel: check texture formats in intel_validate_framebuffer()Brian Paul
We can't render into any texture format; only certain formats. Check that render-to-texture's format is renderable in the intel_validate_framebuffer() There seems to be a bug somewhere that causes rendering to rgb565 textures to be corrupted so disallow that for now. This will be revisted.
2009-02-25intel: Fix up x8r8g8b8 renderbuffer format so that alpha=1 spans code happens.Eric Anholt
I was lured into a false sense of security by the fact that the spans code was already there, and a bunch of tests didn't catch the problem. oglconform's mask.c did, though. Bug #19970.
2009-02-21intel: tell libdrm whether we want a cpu-ready or gpu-ready BO for regions.Eric Anholt
This lets us avoid allocing new buffers for renderbuffers, finalized miptrees, and PBO-uploaded textures when there's an unreferenced but still active one cached, while also avoiding CPU waits for batchbuffers and CPU-uploaded textures. The size of BOs allocated for a desktop running current GL cairogears on i915 is cut in half with this. Note that this means we require libdrm 2.4.5.
2009-01-30intel: remove unused RenderToTexture fieldBrian Paul
2009-01-29intel: remove unused #includesBrian Paul
2009-01-29intel: formatting clean-upsBrian Paul
2009-01-27intel: clean up more pf mess.Eric Anholt
2009-01-22intel: add GL_EXT_framebuffer blit extensionBrian Paul
This functionality is required by GL_ARB_framebuffer_object. For now, implement it in terms of glCopyPixels(). This will need to be revisted though.
2009-01-22intel: remove/disable the "paired depth/stencil" codeBrian Paul
We only allow combined depth+stencil renderbuffers so the complicated code for splitting and combining separate depth and stencil buffers is no longer needed.
2009-01-22intel: remove unneeded call to ctx->Driver.DepthRange()Brian Paul
The preceeding call to intel_draw_buffer() does that.
2009-01-22i965: disallow separate depth/stencil renderbuffersBrian Paul
Take advantage of the GL_FRAMEBUFFER_UNSUPPORTED feature to disallow separate depth and stencil renderbuffers; only allow combined depth/stencil buffers. Next up: remove/simplify a bunch of the depth/stencil renderbuffer code. Also: restore the previously disabled GL_DEPTH_COMPONENT16 case
2009-01-22intel: plug in stub intel_validate_framebuffer() functionBrian Paul
2009-01-22intel: inline some renderbuffer functionsBrian Paul
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.
2009-01-14i965: asst. fixes, work-arounds for FBOs and render to textureBrian Paul
OpenGL allows mixing and matching depth and stencil renderbuffers in framebuffer objects while the hardware really only supports interleaved depth/stencil buffers. This makes for some tricky buffer management. An extra wrinkle is the situation where the user allocates a 16bpp depth texture or renderbuffer then tries to render to it along with a stencil buffer. We'd have to promote the 16bpp Z values to 24-bit Z values and mix in the stencil values to setup the depth/stencil renderbuffer. There's no support for that now, so always allocate 32bpp depth textures/ renderbuffers for now.
2009-01-14i965: fix incorrect renderbuffer DataType assignmentBrian Paul
2008-12-06intel: Fall back on rendering to a texture attachment with a border.Eric Anholt
Fixes a segfault in oglconform fbo.c test.
2008-09-24intel: Fix clears to depth_stencil texture attachments.Eric Anholt
Broken by 0adfd1021035e90995a25ec5f20b736e55075d92, showed up as an assertion failure in a software fallback in the shadowtex demo when we failed to recognize the texture format.
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-09-12intel: Add a width field to regions, and use it for making miptrees in TFP.Eric Anholt
Otherwise, we would use the pitch as width of the texture, and compiz would render the pitch padding on the right hand side.
2008-08-24Revert "Revert "Merge branch 'drm-gem'""Dave Airlie
This reverts commit 7c81124d7c4a4d1da9f48cbf7e82ab1a3a970a7a.
2008-08-24Revert "Merge branch 'drm-gem'"Dave Airlie
This reverts commit 53675e5c05c0598b7ea206d5c27dbcae786a2c03. Conflicts: src/mesa/drivers/dri/i965/brw_wm_surface_state.c
2008-07-26intel: Don't return a renderbuffer with alpha when just GL_RGB is requested.Eric Anholt
Fixes oglconform rbGetterFuncs testcase. The span code for this mode hasn't actually been tested.
2008-07-23intel: Add a little span cache to spead up readpixels by cutting syscalls.Eric Anholt
2008-07-23intel-gem: Use pread/pwrite for span access.Eric Anholt
This will avoid clflushing entire buffers for small acesses, such as those commonly used by regression tests.
2008-07-11drm-gem: Use new GEM ioctls for tiling state, and support new swizzle modes.Eric Anholt
2008-07-02intel-gem: Fix Y-tiling span setup.Eric Anholt
The boolean that the server gives us for whether the region is tiled was getting used as the enum for what tiling mode. Instead, guess the correct tiling in screen setup. Also, fix the Y-tiling pitch setup. The pitch to the next tile in Y is 32 scanlines, not 8.
2008-05-06[intel-GEM] Add tiling support to swrast.Keith Packard
Accessing tiled surfaces without using the fence registers requires that software deal with the address swizzling itself.
2008-03-14intel: fix abort issue with shadowtex demo when useXiang, Haihao
DEPTH_STENCIL texture. (bug#14952).
2008-02-15[intel] Allow attIndex to be negative to avoid defeating the >= 0 check.Eric Anholt
Otherwise, we would go wildly out of bounds if passed -1 (no renderbuffer), such as while doing LOCK_HARDWARE with glDrawBuffer(GL_NONE).
2008-01-09[intel] Simplify intelCreateBuffer() a bit.Kristian Høgsberg
Drop a bunch of unused arguments from intel_create_renderbuffer() and introduce intel_renderbuffer_set_region() to set the region for a renderbuffer.
2008-01-06Replace gl_framebuffer's _ColorDrawBufferMask with _ColorDrawBufferIndexesBrian
Each array element is now a BUFFER_x token rather than a BUFFER_BIT_x bitmask. The number of active color buffers is specified by _NumColorDrawBuffers. This builds on the previous DrawBuffer changes and will help with drivers implementing GL_ARB_draw_buffers.
2007-12-20[965] Enable EXT_framebuffer_object.Eric Anholt
To do so, merge the remainnig necessary code from the buffers, blit, span, and screen code to shared, and replace it with those.
2007-12-12[intel] Move bufmgr back to context instead of screen, fixing glthreads.Eric Anholt
Putting the bufmgr in the screen is not thread-safe since the emit_reloc changes. It also led to a significant performance hit from pthread usage for the attempted thread-safety (up to 12% of a cpu spent on refcounting protection in single-threaded 965). The motivation had been to allow multi-context bufmgr sharing in classic mode, but it wasn't worth the cost.
2007-11-09[intel] Move over files that will be shared with 965-fbo work.Eric Anholt