summaryrefslogtreecommitdiff
path: root/src/mesa/drivers
AgeCommit message (Collapse)Author
2007-12-15[965] Use shared intel_regions.c.Eric Anholt
This adds (so far) unused PBO functions, and holding the lock while writing to regions (which may be shared static screen regions).
2007-12-14[intel] Fix uninitialized data in screen-region buffer objects.Eric Anholt
2007-12-14[intel] Remove excessive validation debugging.Eric Anholt
2007-12-14[intel] Initialize debug flag for dri_bufmgrsEric Anholt
2007-12-14[intel] Remove useless intel_region_idle.Eric Anholt
The idling it was trying to ensure was covered by the intel_miptree_image_map()->intel_region_map() that immediately followed it.
2007-12-14[intel] warnings cleanupEric Anholt
2007-12-14[intel] Remove the relocation buffer lists and just cache one per buffer.Eric Anholt
Each buffer object now has a relocation buffer pointer, which contains the relocations for the buffer if there are any. At the point where we have to create a new type of relocation entry, we can change the code over to allowing multiple relocation lists, but trying to anticipate what that'll look like now just increases complexity. This is a 30% performance improvement on 965.
2007-12-14[965] Replace the state cache suballocator with direct dri_bufmgr use.Eric Anholt
The user-space suballocator that was used avoided relocation computations by using the general and surface state base registers and allocating those types of buffers out of pools built on top of single buffer objects. It also avoided calls into the buffer manager for these small state allocations, since only one buffer object was being used. However, the buffer allocation cost appears to be low, and with relocation caching, computing relocations for buffers is essentially free. Additionally, implementing the suballocator required a don't-fence-subdata flag to disable waiting on buffer maps so that writing new data didn't block on rendering using old data, and careful handling when mapping to update old data (which we need to do for unavoidable relocations with FBOs). More importantly, when the suballocator filled, it had no replacement algorithm and just threw out all of the contents and forced them to be recomputed, which is a significant cost. This is the first step, which just changes the buffer type, but doesn't yet improve the hash table to not result in full recompute on overflow. Because the buffers are all allocated out of the general buffer allocator, we can no longer use the general/surface state bases to avoid relocations, and they are set to 0 instead.
2007-12-13[intel] Remove broken mutex protection from dri_bufmgrs.Eric Anholt
Now that the dri_bufmgr is stored in the context rather than the screen, all access to one is single-threaded anyway.
2007-12-13[intel] Enable INTEL_DEBUG=bufmgr output in TTM mode as well as classic.Eric Anholt
2007-12-13[intel] assert that buffers are not mapped at last unreference.Eric Anholt
bufmgr_fake doesn't care about it, but with ttm we would end up with the buffer remaining referenced until application exit.
2007-12-12[intel] Assert against conflicting relocation emits in bufmgr_fake.cEric Anholt
2007-12-12[965] Bug #13600: Fix assertion failure with SRGB textures.Eric Anholt
I broke this with cherry-pick resolving on 93c98a466947570e0589b662df49095b2f4bc43c.
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-12-11Block in kernel waiting for fenceKeith Packard
2007-12-11Use previous buffer offsets to compute proposed relocationsKeith Packard
This takes advantage of the DRM_BO_HINT_PRESUMED_OFFSET change and allows the kernel to avoid mapping and re-writing buffers when relocations occur.
2007-12-10[965] Hook up DEBUG_BUFMGR output for bufmgr_fake.Eric Anholt
2007-12-07[965] Convert the driver to dri_bufmgr interface and enable TTM.Eric Anholt
This is currently believed to work but be a significant performance loss. Performance recovery should be soon to follow. The dri_bo_fake_disable_backing_store() call was added to allow backing store disable like bufmgr_fake.c did, which is a significant performance win (though it's missing the no-fence-subdata part). This commit is a squash merge of the 965-ttm branch, which had some history I wanted to avoid pulling due to noisiness and brokenness at many points for git-bisecting.
2007-12-07[965] Remove dead code in upload_wm_surfaces.Eric Anholt
2007-12-07[965] Move brw_surface_state stack allocation into the function using it.Eric Anholt
2007-12-07i915: fix the error in the previos commit.Xiang, Haihao
2007-12-07i915: Check the program size when uploading a program. fix bug 13494Xiang, Haihao
2007-12-05Revert "[965] Add missing flagging of new stage programs for updating stage ↵Eric Anholt
state." I had forgotten part of brw_state_cache.c that made this fix not relevant for master (last_addr comparison and flagging based on cache id). This reverts commit a4642f3d18bdaebaba31e5dee72fe5de9d890ffb.
2007-12-05[965] Add missing flagging of new stage programs for updating stage state.Eric Anholt
Otherwise, choosing a new program wouldn't necessarily update the state, and and an old program could be executed, leading to various sorts of pretty pictures or hangs.
2007-12-05Don't Swap buffer if a DRIDrawable is entirely obscuredXiang, Haihao
by another window.
2007-12-03[965] Change constant buffer from state structs to plain batch emission.Eric Anholt
Reduces diff to branch which has a relocation in this state emit.
2007-12-03i915: Fix up state changes for i8xx.Michel Dänzer
2007-11-30[intel] Move batch bo_unmap from TTM code to shared, and add more asserts.Eric Anholt
2007-11-30[intel] Add failure path printfs to relocation code and some comments.Eric Anholt
2007-11-30[intel] Simplify TTM relocation code by passing around bufmgr struct.Eric Anholt
2007-11-30[intel] Fix the type and naming of the flags/mask args to TTM functions.Eric Anholt
The uint64_t flags (as defined by drm.h) were being used as unsigned ints in many places.
2007-11-30[intel] intel_bufmgr_ttm style sanityEric Anholt
2007-11-30Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesajoukj
2007-11-30i965: if source depth to render target is set,Xiang, Haihao
it should be handled in fb_write.
2007-11-30i965: use uncompressed instruction to ensure onlyXiang, Haihao
Pixel Mask Copy is modified as the pixel shader thread turns off pixels based on kill instructions.
2007-11-29[i915] Make INTEL_DEBUG=bufmgr actually do things for bufmgr_fake.Eric Anholt
2007-11-29New ctx->Driver.Map/UnmapTexture() functions for accessing textures from ↵Brian
t_vb_program.c
2007-11-28r200: Fix texture format regression on big endian systems.Michel Dänzer
See https://bugs.freedesktop.org/show_bug.cgi?id=13324 . Also use tx_table_be for VALID_FORMAT, in case r200SetTexImages ever gets called for MESA_FORMAT_RGB888.
2007-11-28i965: update RefCount when using Vertex/Fragment program.Xiang, Haihao
It makes quake4-demo works well on 965.
2007-11-27use DEFAULT_SOFTWARE_DEPTH_BITSDelle
2007-11-27i965: The jump instruction count is addedXiang, Haihao
to IP pre-increment, and should point to the first instruction after the do instruction of the do-while block of code
2007-11-26i915: Catch cases where not all state is emitted for a new batchbuffer.Keith Whitwell
This could lead to incorrect rendering or even lockups.
2007-11-26i915: Some additional blit fixes and assertions.Michel Dänzer
2007-11-25intel: Fix relative symlinks.Michel Dänzer
2007-11-22fix z buffer read/write issue with rv100-like chips and old ddxRoland Scheidegger
2007-11-20[965] Replace 965 texture format code with common code.Eric Anholt
The only functional difference should be that 965 now gets the optimization where textures default to 16bpp when the screen is 16bpp.
2007-11-20[965] Remove dead exec vfmt code which was replaced by generic vbo code.Eric Anholt
2007-11-19[965] Add INTEL_DEBUG=fall debugging output.Eric Anholt
2007-11-19[965] Convert DBG macro to use FILE_DEBUG_FLAG like i915.Eric Anholt
2007-11-16[intel] Add 965 support to shared intel_blit.cEric Anholt
This requires that regions grow a marker of whether they are tiled or not, because fence (surface) registers are ignored by the 965 2D engine.