summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600
AgeCommit message (Collapse)Author
2010-11-11r600g: enforce minimum stride on render target texture imagesKeith Whitwell
Fixes piglit/fbo_readpixels since staging upload changes.
2010-11-11r600g: do not try to use staging resource for depth texturesKeith Whitwell
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.
2010-11-11r600g: guard experimental s3tc code with R600_ENABLE_S3TCKeith Whitwell
2010-11-09r600: fix my pessimism about PIPE_TRANSFER_x flagsKeith Whitwell
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.
2010-11-09r600g: translate ARR instructionKeith Whitwell
2010-11-09r600g: attempt to turn on DXTn formatsKeith Whitwell
Seems to sort-of work for non-mipmapped textures. Better than just black anyway.
2010-11-09r600g: avoid recursion with staged uploadsKeith Whitwell
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.
2010-11-08r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)Benjamin Franzke
2010-11-07r600g: Mention AMD in the renderer string.Henri Verbeet
2010-11-03r600g: Swap the util_blitter_destroy call order.José Fonseca
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.
2010-11-03evergreeng: set hardware pixelcenters according to gl_rasterization_rulesKeith Whitwell
2010-11-03evergreeng: respect linewidth state, use integer widths onlyKeith Whitwell
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.
2010-11-03r600g: don't call debug_get_bool_option for tiling more than onceKeith Whitwell
2010-11-03evergreeng: protect against null constant buffersKeith Whitwell
Should do better than this and actually unbind the buffer, but haven't yet gotten it to work.
2010-11-03r600g: set hardware pixel centers according to gl_rasterization_rulesKeith Whitwell
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.
2010-11-03r600g: remove unused flink, domain fields from r600_resourceKeith Whitwell
These were being set but not used anywhere.
2010-11-03r600g: use a buffer in GTT as intermediate on texture up and downloadsKeith Whitwell
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.
2010-11-03r600g: propogate resource usage flags to winsys, use to choose bo domainsKeith Whitwell
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.
2010-11-03r600g: propagate usage flags in texture transfersKeith Whitwell
2010-11-02r600g: Destroy the winsys in r600_destroy_screen().Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02r600g: Delete custom_dsa_flush on shutdown.Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02st/mesa: unbind constant buffer when not in useKeith Whitwell
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.
2010-11-02scons: Add aliases for several pipe drivers.José Fonseca
2010-11-02r600g: List recently added files in SConscript.José Fonseca
2010-10-27r600g: Silence uninitialized variable warnings.Vinson Lee
2010-10-27r600g: Destroy the blitter.Tilman Sauerbeck
This fix got lost in the state rework merge. Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-10-26r600g: add assembler support for all the kcache fields.Dave Airlie
2010-10-26r600g: fix magic 0x1 ->flat shade enaDave Airlie
2010-10-24r600g: drop more common state handling codeDave Airlie
2010-10-24r600g: Also clear bc data when we're destroying a shader.Tilman Sauerbeck
[airlied: remove unused vars] Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-24r600g: Added r600_pipe_shader_destroy().Tilman Sauerbeck
Not yet complete. Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-24r600g: merge more of the common r600/evergreen state handlingDave Airlie
2010-10-24r600g: Fixed r600_vertex_element leak.Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-21r600g: start splitting out common code from eg/r600.Dave Airlie
no point duplicating code that doesn't touch hw, also make it easier to spot mistakes
2010-10-21r600g: initial translate state supportDave Airlie
2010-10-21r600g: add texture tiling enable under a debug option.Dave Airlie
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.
2010-10-21r600g: add texture tiling alignment support.Dave Airlie
this sets things up to align stride/height with tile sizes, it also adds support for the 2D/1D array mode cross over point.
2010-10-21r600g: introduce a per-driver resource flag for transfers.Dave Airlie
this is to be used to decide not to tile a surface being used for transfers.
2010-10-21r600g: add r600 surface to store the aligned height.Dave Airlie
we need to know the aligned height when binding the surface to cb/zb, not the gallium surface height.
2010-10-21r600g: start adding hooks for aligning width/height for tiles.Dave Airlie
2010-10-21r600g: move to per-miplevel array mode.Dave Airlie
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.
2010-10-21r600g: all non-0 mipmap levels need to be w/h aligned to POT.Dave Airlie
this adds a new minify function to the driver to ensure this.
2010-10-20r600g: Ensure r600_src is initialized in tgsi_exp function.Vinson Lee
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
2010-10-18r600g: retrieve tiling info from kernel for shared buffers.Dave Airlie
we need to know if the back is tiled so we can blit from it properly.
2010-10-18r600g: fix transfer function for tiling.Dave Airlie
this makes readback with tiled back work better.
2010-10-18r600g: attempt to cleanup depth blitDave Airlie
cleanup what I'm nearly sure is unnecessary work in the depth blit code.
2010-10-18r600g: depth needs to bound to dsDave Airlie
2010-10-18r600g: fix typo in tiling setup cb code.Dave Airlie
2010-10-18r600g: do proper tracking of views/samplers.Dave Airlie
we need to do pretty much what r300g does in for this, this fixes some issues seen while working on tiling.