summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_context.c
AgeCommit message (Collapse)Author
2009-07-15intel/radeon: add common metaops code.Dave Airlie
Move all the metaops to a dri_metaops file and port radeon/intel to use the new common meta ops code.
2009-07-13Merge branch 'mesa_7_5_branch'Brian Paul
2009-07-12intel: Bump driver data, add RC3 tagIan Romanick
2009-07-13i965: add support for new chipsetsXiang, Haihao
1. new PCI ids 2. fix some 3D commands on new chipset 3. fix send instruction on new chipset 4. new VUE vertex header 5. ff_sync message (added by Zou Nan Hai <nanhai.zou@intel.com>) 6. the offset in JMPI is in unit of 64bits on new chipset 7. new cube map layout
2009-07-02intel: Clean up leak of driver context structure on context destroy.Eric Anholt
2009-06-29Merge branch 'mesa_7_5_branch'Brian Paul
2009-06-29intel: added null ptr checkBrian Paul
This fixes a segfault seen with piglit's fdo20701 test.
2009-06-29Revert "intel: Remove unneded pthread mutex in LOCK_HARDWARE."Eric Anholt
This reverts commit de447afff26706e3bf8bdcd5cfb8b1daf49b4b21 but puts the lock under DRI1-only. From keithw: > It's there because the DRI1 code doesn't actually achieve the mutexing > which it looks as if it should. For multi-threaded applications it was > always possible to get two threads inside locked regions -- I have no > idea how, but it certainly was and presumably still is possible.
2009-06-29intel: Move note_unlock() implementation to the one place it's needed.Eric Anholt
2009-06-29intel: Remove unneded pthread mutex in LOCK_HARDWARE.Eric Anholt
This would cause LOCK_HARDWARE to mutex all contexts in this process on both DRI1 and DRI2. On DRI1, LOCK_HARDWARE already does it for all processes on the system. On DRI2, LOCK_HARDWARE doesn't, but there shouldn't be any state outside the context that needs any additional protection. Notably, the bufmgr is protected by its own mutex and not LOCK_HARDWARE. This code was originally introduced with the i915tex code dump, so it's not clear what it was there for.
2009-06-29intel: Make LOCK_HARDWARE recursive to avoid hand-rolling recursiveness.Eric Anholt
2009-06-26intel / DRI2: Additional flush of fake front-buffer to real front-bufferIan Romanick
To maintain correctness, the server will copy the real front-buffer to a newly allocated fake front-buffer in DRI2GetBuffersWithFormat. However, if the DRI2GetBuffersWithFormat is triggered by glViewport, this will copy stale data into the new buffer. Fix this by flushing the current fake front-buffer to the real front-buffer in intel_viewport. Fixes bug #22288.
2009-06-17intel: Skip the DRI2 renderbuffer update when doing Viewport on an FBO.Eric Anholt
(cherry picked from commit d4a42b0ce6455d03be70aa56aacd779be193aca4)
2009-06-26Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
2009-06-23intel: Refuse to do texture tiling if we don't have the kernel support.Eric Anholt
2009-06-19intel: Also get the DRI2 front buffer when doing front buffer reading.Eric Anholt
2009-06-19intel: Fixups for 'mesa: create/destroy buffer objects via driver functions'.Michel Dänzer
Initialize all driver function hooks before calling _mesa_initialize_context(), and handle all buffer objects in intel_buffer_object(). Fixes assertion failure when running glxinfo.
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: make a bunch of glTexImage-related functions staticBrian 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-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-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-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-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-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-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-10intel: added screen->dri2.loader null pointer check in intel_flush()Brian Paul
Fixes segfaults when rendering to front buffer.
2009-04-09intel / DRI2: Accept fake front-buffer from loaderIan Romanick
Handle the loader returning a fake front-buffer. Since the driver never specifically requests a fake front-buffer, the driver assumes that it will never receive both a fake and a real front-buffer. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-09intel / DRI2: Track and flush front-buffer renderingIan Romanick
Track two flags: whether or not front-buffer rendering is currently enabled and whether or not front-buffer rendering has been enabled since the last glFlush. If the second flag is set, the front-buffer is flushed via a loader call back. If the first flag is cleared, the second flag is cleared at this time. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-06intel: Avoid dri2 GetBuffers round-trips for internal Viewport calls.Eric Anholt
This gets us the savings for driver-internal viewport calls that dd1c68f15123a889a3ce9d2afe724e272d163e32 was attempting, without relying on Xlib internals or clients handling X events.
2009-03-05intel: Add always_flush_batch driconf option for making small batchbuffers.Eric Anholt
This can improve debugging with INTEL_DEBUG=batch,sync by giving smaller batchbuffers.
2009-03-05intel: Add always_flush_cache driconf option for debugging cache flush failure.Eric Anholt
I keep wanting to hack this knob in as a one-time thing, so it seemed useful to have all the time.
2009-03-04i965: add software fallback for conformant 3D textures and GL_CLAMPRobert Ellison
The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier commit forced a software fallback if strict conformance was required (i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and 2D textures were used, but it was somewhat flawed - it could trigger the software fallback even if 2D textures weren't enabled, as long as one texture unit was enabled. This fixes that, and adds software fallback for GL_CLAMP behavior with 1D and 3D textures. It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE environment variable, which forces software fallbacks to be taken *all* the time. This is helpful with debugging. The value is: export INTEL_STRICT_CONFORMANCE=2
2009-02-27i915: Add support for a new G33-like chipset.Shaohua Li
Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-02-17intel: Clean up several 965 memory leaks on context destroy.Eric Anholt
2009-02-10intel: Don't do the extra MI_FLUSH in flushing except when doing glFlush().Eric Anholt
Everything other than "make sure the last rendering ends up visible on the screen" doesn't need that behavior.
2009-02-10intel: don't crash when dri2 tells us about buffers we don't care about.Eric Anholt
2009-01-26intel: remove old #includesBrian Paul
2009-01-26intel: move intelInitExtensions() and related code into new intel_extensions.cBrian Paul
2009-01-26intel: move glClear-related code into new intel_clear.c fileBrian Paul
2009-01-26intel: Move swap-related functions from intel_buffers.c to new ↵Brian Paul
intel_swapbuffers.c
2009-01-23Merge branch 'tex_combine4'Brian Paul
2009-01-23intel: enable GL_NV_texture_env_combine4 extensionBrian Paul
2009-01-23intel: Prevent an "irq is not working" printf when only pipe B is enabled.Owain G. Ainsworth
intelMakeCurrent is called before intelWindowMoved (in fact, it calls it), so calculation of the correct vblank crtc has not happened yet. Fix this by making a function that fixes up a set of vblank flags and call if from both functions.