aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys
Commit message (Collapse)AuthorAgeFilesLines
* r600g: don't use dynamic state allocation for statesJerome Glisse2010-08-055-299/+63
| | | | | | | | | | Simplify state handly by avoiding state allocation. Next step is to allocate once for all context packet buffer and then avoid rebuilding pm4 packet each time (through use of combined crc) this would also avoid number of memcpy. Signed-off-by: Jerome Glisse <[email protected]>
* r300g: debug_print on startup whether we can use hyper-zMarek Olšák2010-08-051-2/+4
|
* r300g: implement hyper-z support. (v4)Dave Airlie2010-08-053-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | This implements fast Z clear, Z compression, and HiZ support for r300->r500 GPUs. It also allows cbzb clears when fast Z clears are being used for the ZB. It requires a kernel with hyper-z support. Thanks to Marek Olšák <[email protected]>, who started this off, and Alex Deucher at AMD for providing lots of hints. v2: squashed zmask ram size fix] squashed r300g/blitter: fix Z readback when compressed] v3: rebase around texture changes in master - .1 fix more bits v4: migrated to using u_mm in r300_texture to manage hiz/zmask rams consistently disabled HiZ when using OQ flush z-cache before turning hyper-z off update hyper-z state on dsa state change store depthclearvalue across cbzb clears and replace it afterwards. Signed-off-by: Dave Airlie <[email protected]>
* r600g: split pipe state creating/binding from hw state creationJerome Glisse2010-07-281-2/+2
| | | | | | | | | Split hw vs pipe states creation handling as hw states group doesn't match pipe state group exactly. Right now be dumb about that and rebuild all hw states on each draw call. More optimization on that side coming. Signed-off-by: Jerome Glisse <[email protected]>
* r300g: reject resources from handles which are not large enoughMarek Olšák2010-07-252-4/+9
| | | | | | | | The driver gets a buffer and its size in resource_from_handle. It computes the required minimum buffer size from given texture properties, and compares the two sizes. This is to early detect DDX bugs.
* xorg/vmwgfx: Implement early mode pruning based on max fb size.Thomas Hellstrom2010-07-231-0/+1
| | | | | | | | | Also move some initialization from screen init to pre-init, now that it is possible. Also import a new vmwgfx drm (1.3) header. Signed-off-by: Thomas Hellstrom <[email protected]>
* i915g: Rename winsys debug optionsJakob Bornecrantz2010-07-221-2/+2
|
* r600g: add family retrivalDave Airlie2010-07-211-0/+5
| | | | allow pipe driver to get the family of the gpu.
* r300g: do not make copies of constant buffers, emit them directlyMarek Olšák2010-07-162-12/+1
|
* r300g: rebuild winsys and command submission to support multiple contextsMarek Olšák2010-07-164-258/+275
|
* r300g: do not print a rejected CS if RADEON_DUMP_CS is not setMarek Olšák2010-07-102-4/+9
| | | | Also print relocation failures on non-debug builds too.
* r300g: store/return the stride for winsys_handle in winsysMarek Olšák2010-07-081-3/+8
|
* i915g: Add flag to not send commands to hwJakob Bornecrantz2010-07-043-1/+6
|
* i915g: If the kernel reject the batchbuffer print it then assertJakob Bornecrantz2010-07-041-13/+18
|
* r300g: move one flush from winsys to the contextMarek Olšák2010-06-301-14/+1
| | | | | | | This flush happens when changing the tiling flags, and it should really be done in the context. I hope this fixes FDO bug #28630.
* Merge branch 'gallium-drm-driver-drescriptor'Jakob Bornecrantz2010-06-2830-322/+114
|\ | | | | | | | | | | | | | | | | Conflicts: src/gallium/state_trackers/egl/x11/native_dri2.c src/gallium/state_trackers/egl/x11/native_x11.c src/gallium/state_trackers/egl/x11/native_x11.h src/gallium/state_trackers/xorg/xorg_driver.c src/gallium/winsys/radeon/drm/radeon_drm.c
| * i965g: Remove last references to drm_apiJakob Bornecrantz2010-06-242-2/+2
| |
| * gallium: Fix scons buildJakob Bornecrantz2010-06-241-1/+0
| |
| * r600g: Move bootstrap code to targetJakob Bornecrantz2010-06-242-29/+14
| |
| * nouveau: Move bootstrap code to targetsJakob Bornecrantz2010-06-233-17/+12
| | | | | | | | | | Well sorta, at least I removed the drm_api dependancy and the target can layer anything it wants to now.
| * nouveau: Rename winsys fileJakob Bornecrantz2010-06-233-4/+4
| |
| * gallium: Drop sw drm winsysJakob Bornecrantz2010-06-234-170/+0
| | | | | | | | Last user went away
| * i965g: Move bootstrap code to targetsJakob Bornecrantz2010-06-233-34/+13
| |
| * i965g: Rename winsys fileJakob Bornecrantz2010-06-233-2/+2
| |
| * i965g: Moved pci_id to winsys structJakob Bornecrantz2010-06-234-9/+6
| |
| * r300g: Move bootstrap code to targetsJakob Bornecrantz2010-06-064-22/+14
| |
| * i915g: Move bootstrap code to targetsJakob Bornecrantz2010-06-067-29/+28
| |
| * svga: Move bootstrap code to targetsJakob Bornecrantz2010-06-062-31/+49
| |
* | glhd: Use an environment variable (GALAHAD) to enable. Off by default.Corbin Simpson2010-06-231-2/+1
| |
* | radeong: Disable Galahad for now; breaks texturing.Corbin Simpson2010-06-231-1/+2
| |
* | targets, radeong: Add Galahad.Corbin Simpson2010-06-221-1/+3
| | | | | | | | Currently unconditional and causes segfaults.
* | r300g: optimize the immediate mode emission path a bitMarek Olšák2010-06-221-0/+12
| |
* | r600g: handle DRM_API_HANDLE_TYPE_KMS in buffer_get_handleMarek Olšák2010-06-201-10/+13
| |
* | r300g: cleanup buffer_{from, get}_handleMarek Olšák2010-06-202-16/+6
| |
* | r300g: drop begin_cs/end_csMarek Olšák2010-06-141-21/+0
| | | | | | | | | | | | | | | | | | | | I have had a look at the libdrm sources and they just contain more or less the same checking we do in macros, and begin_cs may realloc the CS buffer if we overflow it, which never happens with r300g. So these are pretty much useless. There is a small but measurable performance increase by dropping the two functions.
* | r300g: replace r300_cs_info with simplier get_cs_free_dwordsMarek Olšák2010-06-131-6/+3
| |
* | winsys: Add fbdev software winsys.Chia-I Wu2010-06-114-0/+298
|/ | | | | | This is a simple winsys that mmap()s the framebuffer device and memcpy()s the contents of display targets to the framebuffer device for displaying.
* nouveau: Remove left over argument in drm apiJakob Bornecrantz2010-06-061-2/+1
|
* i915g: Rename winsys c file.Vinson Lee2010-06-041-1/+1
| | | | | This was missed in commit e7f0f6bb72c63fd6e6ddcb7a815be68682f1764c. Fixes i915g SCons build.
* r300g: use r300_buffer_domain everywhereMarek Olšák2010-06-023-11/+31
|
* r300g: let the driver determine the GEM domain for buffer_createMarek Olšák2010-06-023-26/+16
|
* st/xorg, vmware: Make throttling configurable.Thomas Hellstrom2010-05-315-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | The xorg state tracker gets two new options to let the user choose whether to enable / disable dirty throttling and swapbuffer throttling. The default value of these options are enabled, unless the winsys supplies a customizer with other values. The customizer record has been extended to allow this, and also to set winsys-based throttling on a per- context basis. The vmware part of this patch disables the dirty throttling if the kernel supports command submission throttling, and also in that case sets kernel based throttling for everything but swapbuffers. The vmware winsys does not set throttling per context, even if it theoretically could, but instead sets throttling per screen. This should perhaps be changed, should the xorg state tracker start to use multiple rendering contexts. Kernel throttling is off by default for all new screens/contexts, so the dri state tracker is not affected. This significantly improves interactivity of the vmware xorg driver. Cherry-picked from commit a8f3b3f88acc1f0193fa740e76e9d815f07f32ab Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* r600g: RS880 is r6xx-basedAlex Deucher2010-05-301-1/+1
| | | | Signed-off-by: Alex Deucher <[email protected]>
* r600g: remove unused variableMarek Olšák2010-05-291-1/+0
|
* r600g: fix gallium function parametersMarek Olšák2010-05-291-2/+1
|
* i915g: Rename winsys c fileJakob Bornecrantz2010-05-292-1/+1
|
* i915g: Move pci id to winsys structJakob Bornecrantz2010-05-294-8/+4
|
* r600g: Integrate into buildJakob Bornecrantz2010-05-271-0/+5
| | | | Signed-off-by: Jakob Bornecrantz <[email protected]>
* r600g: adapt to latest interfaces changesMarek Olšák2010-05-2727-1541/+91
| | | | | | | | | | | | | | | | | - Wrapped the buffer and texture create/destroy/transfer/... functions using u_resource, which is then used to implement the resource functions. - Implemented texture transfers. I left the buffer and texture transfers separate because one day we'll need a special codepath for textures. - Added index_bias to the draw_*elements functions. - Removed nonexistent *REP and *FOR instructions. - Some pipe formats have changed channel ordering, so I've removed/fixed nonexistent ones. - Added stubs for create/set/destroy sampler views. - Added a naive implementation of vertex elements state (new CSO). - Reworked {texture,buffer}_{from,to}_handle. - Reorganized winsys files, removed dri,egl,python directories. - Added a new build target dri-r600.
* r600g: Initial importJerome Glisse2010-05-2726-0/+6848
|