summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel
AgeCommit message (Collapse)Author
2009-06-09i915: Add an option for testing the effect of early Z in classic mode.Eric Anholt
The early Z stuff is supposed to be unsafe without some more work in the enable/disable path (in particular, how do we want to get it disabled on the way out to the X Server?), but at the moment is 6% in OA.
2009-06-09intel: Remove an unneeded hunk that slipped in with texture tiling.Eric Anholt
intel_miptree_pitch_align does this later on.
2009-06-09intel: Base tri clearing depth on Y tiling, not IS_I965().Eric Anholt
Y tiling is why the 965 check was there, but I wanted to experiment with Y on pre-965 as well.
2009-06-09intel: Fix intel_region_unmap to do unmap, not map.Eric Anholt
Thanks to Shuang He for catching this.
2009-06-09i965: added intelFlush() call in intel_get_tex_image()Brian Paul
Fixes the render-to-texture test in progs/tests/getteximage.c
2009-06-09intel: use GLboolean, not int, for compressed parameterBrian Paul
2009-06-09intel: make a bunch of glTexImage-related functions staticBrian Paul
2009-06-09intel: whitespace clean-upsBrian Paul
2009-06-09intel: remove extra \n from warning stringBrian Paul
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-06-04i915: Don't rely on fence regs when we don't have to.Eric Anholt
We're on the way to telling the kernel about when we need fence regs on our objects or not, and this will cut the number of places needing them.
2009-06-02intel: Clip to window after calling Driver.TexImage2DIan Romanick
This prevents the width / height from being clipped to the window size before the texture is allocated. This matches intelCopyTexImage1D. This should fix bug #21227 Signed-off-by: Ian Romanick <ian.romanick@intel.com>
2009-06-02i915: Don't put VBOs in graphics memory unless required for an operation.Eric Anholt
This saves doing swtnl from uncached memory, which is painful. Improves clutter test-text performance by 10% since it started using VBOs.
2009-05-26i915: Fall back on NPOT textured metaops on 830-class.Eric Anholt
2009-05-26intel: Override MaxRenderbufferSize with hardware constraintsChris Wilson
Limit the maximum renderbuffer size to 8192 on i965 and to 2048 on earlier hardware.
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-05-21intel: Don't segfault on glGenerateMipmaps of a cube map with one face defined.Eric Anholt
This presumably applies to SGIS_generate_mipmaps as well.
2009-05-21intel: Use _mesa_CheckFramebufferStatusEXT insteaad of glCheck...Eric Anholt
Fixes a segfault in our oglconform fbo test.
2009-05-15intel: Don't complain on falling back from PBO fastpaths.Eric Anholt
Instead, stash the debug info under the handy debug flag. Bug #20053
2009-05-15i915: Use Stencil.Enabled instead of Stencil._Enabled in DrawBuffers.Eric Anholt
The _Enabled field isn't updated at the point that DrawBuffers is called, and the Driver.Enable() function does the testing for stencil buffer presence anyway. bug #21608 for Radeon
2009-05-14intel: Use FRONT_AND_BACK for StencilOp as well.Eric Anholt
2009-05-14intel: Use GL_FRONT_AND_BACK for stencil clearing.Eric Anholt
This comes from a radeon-rewrite fallback fix, but may also fix stencil clear failure when the polygon winding mode is flipped.
2009-05-14i965: send all warnings through _mesa_warning()Robert Ellison
One warning message: drm_i915_getparam: -22 was still being sent to fprintf(). This causes all Piglit tests to fail, even with MESA_DEBUG=0. Using _mesa_warning() to emit the message allows the general Mesa controls for messages like this to be applied.
2009-05-13Merge branch 'mesa_7_5_branch'Brian Paul
2009-05-13intel: added null ptr checkBrian Paul
Fixes segfault in context tear-down when glClear was never called.
2009-05-13intel: enable GL_APPLE_vertex_array_objectBrian Paul
No special driver changes are needed for this extension.
2009-05-13Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/main/arrayobj.c src/mesa/main/arrayobj.h src/mesa/main/context.c
2009-05-13intel: create a private gl_array_object for intel_clear_tris(), fix bug 21638Brian Paul
gl_array_object encapsulates a set of vertex arrays (see the GL_APPLE_vertex_array_object extension). Create a private gl_array_object for drawing the quad for intel_clear_tris() so we don't have to worry about the user's vertex array state. This fixes the no-op glClear bug #21638 and removes the need to call _mesa_PushClientAttrib() and _mesa_PopClientAttrib().
2009-05-12intel: Skip the DRI2 renderbuffer update when doing Viewport on an FBO.Eric Anholt
2009-05-12intel: Map write-only buffer objects through the GTT when possible.Eric Anholt
This looks to be a win of a few percent in cairogears with new vbo code, thanks to not polluting caches.
2009-05-11Test either GL_FRONT_LEFT or GL_FRONT for front-buffer renderingIan Romanick
For non-stereo visuals, which is all we support, we treat GL_FRONT_LEFT as GL_FRONT. However, they are technically different, and they have different enum values. Test for either one to determine if we're in front-buffer rendering mode. This fix was suggested by Pierre Willenbrock. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 2085cf24628be7cd297ab0f9ef5ce02bd5a006e2)
2009-05-08i965: improve debug loggingRobert Ellison
Looking for memory leaks that were causing crashes in my environment in a situation where valgrind would not work, I ended up improving the i965 debug traces so I could better see where the memory was being allocated and where it was going, in the regions and miptrees code, and in the state caches. These traces were specific enough that external scripts could determine what elements were not being released, and where the memory leaks were. I also ended up creating my own backtrace code in intel_regions.c, to determine exactly where regions were being allocated and for what, since valgrind wasn't working. Because it was useful, I left it in, but disabled and compiled out. It can be activated by changing a flag at the top of the file.
2009-05-08i965: fix memory leak in context/renderbuffer region managementRobert Ellison
A temporary change to the intelMakeCurrent() function to make it work with frame buffer objects causes the static regions associated with the context (the front_region, back_region, and depth_region) to take on an additional reference, with no corresponding release. This causes a memory leak if a program repeatedly creates and destroys contexts. The fix is the corresponding hack, to unreference these regions when the context is deleted, but only if the framebuffer objects are still present and the same regions are still referenced within. Both sets of code have comment blocks referring to each other.
2009-05-08intel: Add a metaops version of glGenerateMipmapEXT/SGIS_generate_mipmaps.Eric Anholt
In addition to being HW accelerated, it avoids the incorrect (black) rendering of the mipmaps that SW was doing in fbo-generatemipmap. Improves the performance of the mipmap generation and drawing in fbo-generatemipmap by 30%.
2009-05-08intel: Put the constant texcoords used in metaops into a vbo.Eric Anholt
Make this be its own function for setup/teardown of the binding of these texcoords. No performance difference in the engine demo (I just felt dirty not using a VBO for this), and I think it should be more resilient to interference from current GL state.
2009-05-06intel: Unmap buffers if needed at DeleteBuffer time.Eric Anholt
This fixes a crash in glean's pbo test, which tripped over the assert when a context was destroyed while a buffer was still mapped (Mesa doesn't call UnmapBuffer in that case). Regression in c6bde8873fbda6d8467600b7491d8543c75b0509
2009-05-01mesa: in glReadBufer() set _NEW_BUFFERS, not _NEW_PIXELBrian Paul
Since GL_READ_BUFFER is historically part of the gl_pixel_attrib group it made sense to signal changes with _NEW_PIXEL. But now with FBOs it's also part of the framebuffer state. Now _NEW_PIXEL strictly indicates pixels transfer state changes. This change avoids framebuffer state validation when any random bit of pixel-transfer state is set. DRI drivers updated too: don't check _NEW_COLOR when updating framebuffer state. I think that was just copied from the Xlib driver because we care about dither enable/disable state there.
2009-05-01Test either GL_FRONT_LEFT or GL_FRONT for front-buffer renderingIan Romanick
For non-stereo visuals, which is all we support, we treat GL_FRONT_LEFT as GL_FRONT. However, they are technically different, and they have different enum values. Test for either one to determine if we're in front-buffer rendering mode. This fix was suggested by Pierre Willenbrock. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-04-28i965: avoid segfault in intel_update_renderbuffers() if using DRI1Brian Paul
2009-04-24intel: Fix more issues with the combined depth-stencil attachmentIan Romanick
2009-04-24intel: Initialize region ptr to prevent assertion in intel_region_referenceIan Romanick
2009-04-24intel / DRI2: When available, use DRI2GetBuffersWithFormatIan Romanick
This interface gives the driver two important features. First, it can allocate the (fake) front-buffer only when needed. Second, it can tell the buffer allocator the format of buffers being allocated. This enables support for back-buffer and depth-buffer with different bits per pixel. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-23intel: Take advantage of GL_READ_ONLY_ARB to map to GEM bo_map write flag.Eric Anholt
This is a CPU win in general, but in particular reduces the pain of Mesa's calculation of min/max indices in DrawElements (wtf?).
2009-04-22intel: fix max anisotropy supportedRoland Scheidegger
i915 actually supports up to 4 (according to header file - not tested), i965 up to 16 (code already handled this but slightly broken), so don't use 2 for all chips, even though angular dependency is very high.
2009-04-18intel: #include polygon.h to silence warningBrian Paul
2009-04-18intel: Handle ARB_vertex_buffer_object state in intel_clear_tris().Michel Dänzer
Fixes gearsvbo app by Michael Clark.
2009-04-17intel: make sure polygon mode is set properly in intel_clear_tris()Brian Paul
Fixes progs/glsl/skinning.c demo.
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-04-16intel: fix small compressed texture uploadRoland Scheidegger
need to round up height for _mesa_copy_rect otherwise textures with height smaller than 4 won't get copied to the miptree at all Also fix up the confusing debug output (don't output unitialized values, and output if data is present and the compressed flag)