summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600g: fill out CAPs for indirect addressingMarek Olšák2010-11-121-0/+5
|
* r600g: enforce minimum stride on render target texture imagesKeith Whitwell2010-11-111-0/+4
| | | | Fixes piglit/fbo_readpixels since staging upload changes.
* r600g: do not try to use staging resource for depth texturesKeith Whitwell2010-11-111-0/+9
| | | | | | Currently r600_resource_copy_region() will turn these copies into transfers + memcpys, so to avoid recursion we must not turn those transfers back into blits.
* r600g: guard experimental s3tc code with R600_ENABLE_S3TCKeith Whitwell2010-11-111-0/+9
|
* r600: fix my pessimism about PIPE_TRANSFER_x flagsKeith Whitwell2010-11-091-8/+5
| | | | | | For some reason I though we needed the _DISCARD flag to avoid readbacks, which isn't true at all. Now write operations should pipeline properly, gives a good speedup to demos/tunnel.
* r600g: translate ARR instructionKeith Whitwell2010-11-091-2/+13
|
* r600g: attempt to turn on DXTn formatsKeith Whitwell2010-11-093-4/+17
| | | | | Seems to sort-of work for non-mipmapped textures. Better than just black anyway.
* r600g: avoid recursion with staged uploadsKeith Whitwell2010-11-091-0/+34
| | | | | | Don't use an intermediate for formats which don't support hardware blits under u_blitter.c, as these will recursively attempt to create a transfer.
* r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)Benjamin Franzke2010-11-082-1/+16
|
* r600g: Mention AMD in the renderer string.Henri Verbeet2010-11-071-18/+18
|
* r600g: Swap the util_blitter_destroy call order.José Fonseca2010-11-031-2/+3
| | | | | | | | | | Trivial change that avoids a segmentation fault when the blitter state happens to be bound when the context is destroyed. The free calls should probably removed altogether in the future -- the responsibility to destroy the state atoms lies with whoever created it, and the safest thing for the pipe driver is to not touch any bound state in its destructor.
* evergreeng: set hardware pixelcenters according to gl_rasterization_rulesKeith Whitwell2010-11-032-1/+8
|
* evergreeng: respect linewidth state, use integer widths onlyKeith Whitwell2010-11-033-2/+8
| | | | | | | | | | | Discard fractional bits from linewidth. This matches the nvidia closed drivers, my reading of the OpenGL SI and current llvmpipe behaviour. It looks a lot nicer & avoids ugliness where lines alternate between n and n+1 pixels in width along their length. Also fix up r600g to match.
* r600g: don't call debug_get_bool_option for tiling more than onceKeith Whitwell2010-11-031-1/+7
|
* evergreeng: protect against null constant buffersKeith Whitwell2010-11-031-0/+7
| | | | | Should do better than this and actually unbind the buffer, but haven't yet gotten it to work.
* r600g: set hardware pixel centers according to gl_rasterization_rulesKeith Whitwell2010-11-032-0/+9
| | | | | | | These were previously being left in the default (D3D) mode. This mean that triangles were drawn slightly incorrectly, but also because this state is relied on by the u_blitter code, all blits were half a pixel off.
* r600g: remove unused flink, domain fields from r600_resourceKeith Whitwell2010-11-033-33/+0
| | | | These were being set but not used anywhere.
* r600g: use a buffer in GTT as intermediate on texture up and downloadsKeith Whitwell2010-11-032-23/+64
| | | | | | | | | | | Generalize the existing tiled_buffer path in texture transfers for use in some non-tiled up and downloads. Use a staging buffer, which the winsys will restrict to GTT memory. GTT buffers have the major advantage when they are mapped, they are cachable, which is a very nice property for downloads, usually the CPU will want to do look at the data it downloaded.
* r600g: propogate resource usage flags to winsys, use to choose bo domainsKeith Whitwell2010-11-034-6/+8
| | | | | | | | | This opens the question of what interface the winsys layer should really have for talking about these concepts. For now I'm using the existing gallium resource usage concept, but there is no reason not use terms closer to what the hardware understands - eg. the domains themselves.
* r600g: propagate usage flags in texture transfersKeith Whitwell2010-11-031-1/+26
|
* r600g: Destroy the winsys in r600_destroy_screen().Tilman Sauerbeck2010-11-021-0/+3
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: Delete custom_dsa_flush on shutdown.Tilman Sauerbeck2010-11-021-0/+2
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.Tilman Sauerbeck2010-11-021-0/+1
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* st/mesa: unbind constant buffer when not in useKeith Whitwell2010-11-021-0/+7
| | | | | | | | | | | Important as more constant buffers per shader start to get used. Fix up r600 (tested) and nv50 (untested) to cope with this. Drivers previously didn't see unbinds of constant buffers often or ever, so this isn't always dealt with cleanly. For r600 just return and keep the reference. Will try to do better in a followup change.
* scons: Add aliases for several pipe drivers.José Fonseca2010-11-021-0/+2
|
* r600g: List recently added files in SConscript.José Fonseca2010-11-021-0/+2
|
* r600g: Silence uninitialized variable warnings.Vinson Lee2010-10-271-4/+4
|
* r600g: Destroy the blitter.Tilman Sauerbeck2010-10-271-0/+2
| | | | | | This fix got lost in the state rework merge. Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: add assembler support for all the kcache fields.Dave Airlie2010-10-263-2/+17
|
* r600g: fix magic 0x1 ->flat shade enaDave Airlie2010-10-262-2/+2
|
* r600g: drop more common state handling codeDave Airlie2010-10-244-151/+80
|
* r600g: Also clear bc data when we're destroying a shader.Tilman Sauerbeck2010-10-243-1/+39
| | | | | | | [airlied: remove unused vars] Signed-off-by: Tilman Sauerbeck <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: Added r600_pipe_shader_destroy().Tilman Sauerbeck2010-10-243-2/+16
| | | | | | | Not yet complete. Signed-off-by: Tilman Sauerbeck <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: merge more of the common r600/evergreen state handlingDave Airlie2010-10-244-172/+106
|
* r600g: Fixed r600_vertex_element leak.Tilman Sauerbeck2010-10-244-18/+10
| | | | | Signed-off-by: Tilman Sauerbeck <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: start splitting out common code from eg/r600.Dave Airlie2010-10-216-339/+367
| | | | | no point duplicating code that doesn't touch hw, also make it easier to spot mistakes
* r600g: initial translate state supportDave Airlie2010-10-214-5/+250
|
* r600g: add texture tiling enable under a debug option.Dave Airlie2010-10-211-0/+7
| | | | | | At the moment you need kernel patches to have texture tiling work with the kernel CS checker, so once they are upstream and the drm version is bumped we can make this enable flip the other way most likely.
* r600g: add texture tiling alignment support.Dave Airlie2010-10-211-5/+60
| | | | | this sets things up to align stride/height with tile sizes, it also adds support for the 2D/1D array mode cross over point.
* r600g: introduce a per-driver resource flag for transfers.Dave Airlie2010-10-212-2/+5
| | | | this is to be used to decide not to tile a surface being used for transfers.
* r600g: add r600 surface to store the aligned height.Dave Airlie2010-10-214-20/+36
| | | | | we need to know the aligned height when binding the surface to cb/zb, not the gallium surface height.
* r600g: start adding hooks for aligning width/height for tiles.Dave Airlie2010-10-211-4/+26
|
* r600g: move to per-miplevel array mode.Dave Airlie2010-10-214-12/+23
| | | | | | Since the hw transitions from 2D->1D sampling below the 2D macrotile size we need to keep track of the array mode per level so we can render to it using the CB.
* r600g: all non-0 mipmap levels need to be w/h aligned to POT.Dave Airlie2010-10-211-5/+13
| | | | this adds a new minify function to the driver to ensure this.
* r600g: Ensure r600_src is initialized in tgsi_exp function.Vinson Lee2010-10-201-1/+1
| | | | | | | | | | Silences these GCC warnings. r600_shader.c: In function 'tgsi_exp': r600_shader.c:2339: warning: 'r600_src[0].rel' is used uninitialized in this function r600_shader.c:2339: warning: 'r600_src[0].abs' is used uninitialized in this function r600_shader.c:2339: warning: 'r600_src[0].neg' is used uninitialized in this function r600_shader.c:2339: warning: 'r600_src[0].chan' is used uninitialized in this function r600_shader.c:2339: warning: 'r600_src[0].sel' is used uninitialized in this function
* r600g: retrieve tiling info from kernel for shared buffers.Dave Airlie2010-10-183-4/+7
| | | | we need to know if the back is tiled so we can blit from it properly.
* r600g: fix transfer function for tiling.Dave Airlie2010-10-181-2/+3
| | | | this makes readback with tiled back work better.
* r600g: attempt to cleanup depth blitDave Airlie2010-10-181-17/+4
| | | | cleanup what I'm nearly sure is unnecessary work in the depth blit code.
* r600g: depth needs to bound to dsDave Airlie2010-10-181-1/+1
|
* r600g: fix typo in tiling setup cb code.Dave Airlie2010-10-181-1/+1
|