summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* gallium: move clear paths from rgba to a pointer to a color union (v2)Dave Airlie2011-09-181-5/+6
| | | | | | | | | | | | | | | This moves the gallium interface for clears from using a pointer to 4 floats to a pointer to a union of float/unsigned/int values. Notes: 1. the value is opaque. 2. only when the value is used should it be interpretered according to the surface format it is going to be used with. 3. float clears on integer buffers and vice-versa are undefined. v2: fixed up vega and graw, dropped hunks that shouldn't have been in patch. Signed-off-by: Dave Airlie <[email protected]>
* r600g: fixup missing scaled r600 types.Dave Airlie2011-09-161-0/+4
| | | | | | | | I was still missing a couple of types on r600/r700 codepaths. Fixes these up. Signed-off-by: Dave Airlie <[email protected]>
* r600g: interpret integer texture types as ints.Dave Airlie2011-09-161-0/+5
| | | | | | | For signed/unsigned with no normalisation or srgb, assume its an INT type texture. Signed-off-by: Dave Airlie <[email protected]>
* r600g: take constantly interpolated values into a/cDave Airlie2011-09-161-3/+4
| | | | | | | We could constant interpolated values now and set have_perspective if nothing else is set to avoid a GPU hang. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add flat non-interpolation support.Dave Airlie2011-09-163-3/+33
| | | | | | | | | TGSI CONSTANT interpolation is just flat, and we just read the values direct from the LDS into the GPR without doing any interpolation on them. This is needed to pass integer types into the fragment shader. Signed-off-by: Dave Airlie <[email protected]>
* r600g: set number type correctly for color buffers.Dave Airlie2011-09-161-5/+29
| | | | | | | | | If we get a scaled type assume its a real integer type (as textures are). Also fixup the blend bypass and blend clamp flags on evergreen as per the docs. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add missing formats to color buffer setup.Dave Airlie2011-09-162-1/+17
| | | | | | just playing with EXT_texture_integer, and this was first bug. Signed-off-by: Dave Airlie <[email protected]>
* r600g: Initialize multi VGT related register on Cayman.Michel Dänzer2011-09-142-0/+11
| | | | | | | | Prevents lockups with piglit tests draw-elements and draw-vertices using large numbers of vertices. Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove unused function r600_buffer_from_handleMarek Olšák2011-09-122-28/+0
|
* r600g: remove an irrelevant XXX commentMarek Olšák2011-09-121-1/+1
|
* r600g: remove r600_resource_buffer structMarek Olšák2011-09-124-80/+65
| | | | | This subclass of r600_resource doesn't contain any useful members, so let's just use r600_resource.
* r600g: set the return type of radeon_destroy to voidMarek Olšák2011-09-121-1/+1
|
* r600g: remove r600_drm_public.hMarek Olšák2011-09-122-1/+1
|
* r600g: inline some of the winsys r600_get functionsMarek Olšák2011-09-125-12/+7
|
* r600g: compute tiling info in the pipe, not in the winsysMarek Olšák2011-09-124-12/+133
| | | | The winsys doesn't need it.
* r600g: cleanup build include dirs and dependenciesMarek Olšák2011-09-123-8/+2
| | | | The scons build still depended on libdrm_radeon.
* r600g: fix shadow rect samplersMarek Olšák2011-09-101-3/+6
|
* r600g: use SAMPLE_LB for OPCODE_TXBMarek Olšák2011-09-101-3/+6
|
* r600g: enable texture arraysMarek Olšák2011-09-101-3/+3
|
* r600g: add support for shadow array samplersMarek Olšák2011-09-102-19/+57
| | | | I had to guess & verify how some of the SAMPLE instructions work.
* r600g: implement texture arrays for evergreenMarek Olšák2011-09-101-5/+18
|
* r600g: always decompress all mipmaps and layers, slices, or faces of zbuffersMarek Olšák2011-09-102-28/+49
| | | | | | This fixes piglit/fbo-depth-array. Reviewed-by: Dave Airlie <[email protected]>
* r600g: fix texture array filteringMarek Olšák2011-09-103-74/+113
| | | | | | | | | | | | | | This fixes piglit/fbo-generatemipmap-array. It looks like SQ_TEX_SAMPLER_WORD0_0.TEX_ARRAY_OVERRIDE should be set for array textures in order to disable filtering between slices, which adds a dependency between sampler views and sampler states. This patch reworks sampler state updates such that they are postponed until draw time. TEX_ARRAY_OVERRIDE is updated according to bound sampler views. This also consolidates setting the texture state between vertex and pixel shaders.
* gallium: add PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERSMarek Olšák2011-09-101-3/+2
| | | | v2: remove PIPE_CAP_ARRAY_TEXTURES in favor of the new CAP.
* r600g: add TXQ and TXF supportDave Airlie2011-09-062-7/+21
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: add initial evergreen integer opcode supportDave Airlie2011-09-062-29/+162
| | | | | | | | | This just adds the opcodes for evergreen, need to work on r600 and cayman implementations. don't advertise nativeintegers yet until we work out all the regressions. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add 10/10/10/2 vertex format conversion.Dave Airlie2011-09-051-0/+6
|
* gallium: add caps for MIN/MAX texel offsets.Dave Airlie2011-09-021-0/+6
| | | | | | | | As per Brian's suggestion, add caps for drivers that support texture offsets to advertise a min/max via TGSI, also use it in the state tracker. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* r600g: add support for R4A4 and A4R4 textures.Christian König2011-09-012-0/+8
| | | | | | Sampling worked out of the box, but this make them work as surface as well. Signed-off-by: Christian König <[email protected]>
* r600g: Make unaligned 3D textures work on +evergreenChristian König2011-08-301-1/+5
| | | | | | The layersize calculation is slightly different on +evergreen. This makes mpeg2 video decoding and piglits texture-packed-formats test work correctly on this hardware.
* r600g: Fix include styleKai Wasserbäch2011-08-299-66/+66
| | | | | | | | | | | As explained in the thread starting at [0], the internal include style should be »#include "path/to/header.h"« for non-system includes. [0] <http://news.gmane.org/find-root.php?message_id=%3c4E5802BE.6020206%40vmware.com%3e> Signed-off-by: Kai Wasserbäch <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* r600g: Handle PIPE_TRANSFER_MAP_DIRECTLY.Michel Dänzer2011-08-261-0/+3
| | | | | | | | If the state tracker tries to map the resource directly but we can't or don't want to do that, fail to create a transfer. Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* g3dvl: Rework the decoder interface part 2/5Christian König2011-08-261-0/+2
| | | | | | | | Implement PIPE_CAP_NUM_BUFFERS_DESIRED giving the decoder control over the number of buffers a state tracker should allocate. Signed-off-by: Christian König <[email protected]> Reviewed-by: Younes Manton <[email protected]>
* r600g: fix replace_gpr_with_pv_psVadim Girlin2011-08-251-1/+1
| | | | | | | | | | Instructions with 3 source operands have no write mask, so we may replace their destinations with PV/PS in the next group even if their dst.write is 0. Note: This is a candidate for the 7.11 branch. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: fix check_and_set_bank_swizzleVadim Girlin2011-08-251-10/+20
| | | | | | | | | | Need to do full check when not all bank swizzles in the group are forced (e.g. when trying to merge interp_* group with the next instruction) Note: This is a candidate for the 7.11 branch. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* android: add support for r600gChia-I Wu2011-08-251-0/+42
| | | | | | | | Tested with a Radeon HD 6250. SurfaceFlinger (the display server and compositor) works. 2D apps with RGB or RGBA visuals work. As for 3D apps, some work but some don't (with serious rendering defects). Reviewed-by: Marek Olšák <[email protected]>
* r600g: share the source listChia-I Wu2011-08-253-31/+19
| | | | | | | Factor out C_SOURCES from Makefile to Makefile.sources, and let Makefile and SConscript share it. Reviewed-by: Marek Olšák <[email protected]>
* r600g: fill out missing entries in opcode tables.Dave Airlie2011-08-241-0/+36
| | | | | | this just adds the missing opcodes as unsupported. Signed-off-by: Dave Airlie <[email protected]>
* r600g: don't allocate separate depth and stencil for transfer textures on EGMarek Olšák2011-08-191-1/+2
| | | | | | | | The state tracker expects depth and stencil pixels interleaved. Evergreen can bind an interleaved depth-stencil resource as a colorbuffer, but not as a zbuffer. The hardware can do the interleaving for us when decompressing.
* r600g: finally enable float depth buffers on evergreenMarek Olšák2011-08-191-0/+11
|
* r600g: rename resource -> view in create_sampler_viewMarek Olšák2011-08-192-32/+26
| | | | | The sampler view is not a resource. Also remove the unused desc variable.
* r600g: hack around a problem with texture alignmentMarek Olšák2011-08-191-0/+10
|
* r600g: simplify the conditionals determining array modeMarek Olšák2011-08-191-20/+11
|
* r600g: put depth and stencil into one backing bufferMarek Olšák2011-08-191-10/+17
| | | | For DRI2 sharing.
* r600g: fix depth-stencil on evergreenMarek Olšák2011-08-194-55/+99
| | | | | | | | | | | | | | Such that it actually works in apps which use both. A separate buffer is allocated for stencil. The only exception is the window-system-provided depth-stencil buffer, where depth and stencil share the same buffer. This fixes: - fbo-depthstencil-GL_DEPTH24_STENCIL8-clear - fbo-depthstencil-GL_DEPTH24_STENCIL8-drawpixels-FLOAT-and-USHORT - fbo-depthstencil-GL_DEPTH24_STENCIL8-readpixels-24_8 - fbo-depthstencil-GL_DEPTH24_STENCIL8-readpixels-FLOAT-and-USHORT
* r600g: fix a possible crash in r600_adjust_gprsMarek Olšák2011-08-191-1/+1
|
* r600g: implement NV_primitive_restart functionality (v2)Marek Olšák2011-08-183-1/+9
| | | | | | | | | Needed for GL3. v2: evergreen support I don't set PA_SU_SC_MODE_CNTL.MULTI_PRIM_IB_ENA. piglit/primitive-restart does pass though. Tested on RV730 and EG-REDWOOD.
* r600g: rename bc -> bytecodeMarek Olšák2011-08-166-485/+485
| | | | It took me a while to figure out what it stands for.
* r600g: expose ARB_ES2_compatibility by claiming fixed-point format supportMarek Olšák2011-08-162-1/+1
| | | | | | I also needed to make some changes in u_vbuf_mgr in order to override the caps from the driver and enable the fallback even though the driver claims the format is supported.
* u_blitter: rename util_blitter_copy_region -> util_blitter_copy_textureMarek Olšák2011-08-161-2/+2
|