summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* r600g: disable render condition for some blitter operationsMarek Olšák2011-06-153-6/+34
|
* r600g: fix TXD src regs needing fetching.Mike Kaplinskiy2011-06-151-46/+50
| | | | | | | | | [airlied: final chunk of Mike's patch from bug 37476 this uses a loop to emit the GRADIENTS and does a check to see if we need to fetch to a temporary register. It also increases the context src gpr to 4 which is needed here.] Signed-off-by: Dave Airlie <[email protected]>
* r600g: use inlines for some common tex instr setup code.Mike Kaplinskiy2011-06-151-11/+24
| | | | | | [airlied: taken from Mike's patch in bug 37476] Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix TXD when shadowing is enabled.Mike Kaplinskiy2011-06-152-6/+17
| | | | | | | | Mike had actually done a lot of the TXD support in a patch in bug 37476 which I see now, I'll add the bits of his work that I didn't think to add to my work. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add TXD support.Dave Airlie2011-06-154-6/+64
| | | | | | | | This at least passes the piglit arb_shader_texture_lod-texgrad test, the AMD shader analyzer seems to multiply the V component by an unspecified constant value no idea why. Signed-off-by: Dave Airlie <[email protected]>
* i915g: add const qualifier to silence warningBrian Paul2011-06-141-1/+1
|
* r600g: also set TILE_MODE of the base levelMarek Olšák2011-06-151-1/+1
|
* r600g: force OpenGL's BASE_LEVEL behavior on r600-r700Marek Olšák2011-06-151-10/+16
| | | | | | | | | | This sets the base level as the zero level, which fixes piglit/texturing/tex-miplevel-selection*. The r600 hardware ignores the BASE_LEVEL field in some cases, so we can't use it. Evergreen might need this too.
* r600g: fix RGB32F texturingMarek Olšák2011-06-141-1/+2
|
* r600g: fix indentation and commentsMarek Olšák2011-06-142-37/+40
|
* r600g: disable shader_texture_lod until there is driver supportMarek Olšák2011-06-141-1/+1
|
* llvmpipe: SSE2 fastpaths for b8g8r8x8 {un,}swizzleAdam Jackson2011-06-141-2/+66
| | | | | | | | Copy-and-paste from the bgra cases. The C paths attempt to avoid copying the 'x' channel, but it's harmless, you might as well. Good for about 5% in glxgears (740 to 780 fps). Signed-off-by: Adam Jackson <[email protected]>
* nv50: fix copy/paste error in nv50_gmtyprog_validateChristoph Bumiller2011-06-141-2/+4
| | | | Used the vertprog instead of gmtyprog.
* r600g: skip SPI setup for position and face inputsVadim Girlin2011-06-142-4/+4
| | | | | | | fixes fdo bug 38145 Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: move depth texture flushing out of line.Dave Airlie2011-06-146-7/+36
| | | | | | this needs a piglit run. Signed-off-by: Dave Airlie <[email protected]>
* i915g: add a few more render target formatsDaniel Vetter2011-06-131-0/+7
| | | | | | Snatched from xvmc. Signed-off-by: Daniel Vetter <[email protected]>
* r600g: Put shaders into immutable buffers.Mathias Fröhlich2011-06-132-2/+3
| | | | | | Put the shader programs into an immutable buffer object. Also make sure that those object can be taken from the user space buffer object pool.
* r600g: Fix typo.Mathias Fröhlich2011-06-131-1/+1
| | | | Fix an obvious typo in the yet unused part of the shader setup.
* r600g: remove useless call to u_upload_flushPierre-Eric Pelloux-Prayer2011-06-131-5/+0
| | | | | | | | | | | | | | | | | | No regressions found with : - piglit (quick.tests) - Unigine Heaven - Lightsmark - openarena - Imprudence (Second Life fork) agd5f Note: this patch was previously reverted due to piglit regressions, but I'm not able to reproduce them here. See this bug: https://bugs.freedesktop.org/show_bug.cgi?id=34008 and discussion: http://lists.freedesktop.org/archives/dri-devel/2011-June/011996.html Signed-off-by: Alex Deucher <[email protected]>
* r600g: fixed bo memory leak issuePierre-Eric Pelloux-Prayer2011-06-131-0/+1
| | | | | pipe_resource_reference call was miossing, thus creating massive memory under certain conditions. Fix : https://bugs.freedesktop.org/show_bug.cgi?id=37168
* r300g: max_anisotropy of 1 is not anisotropic filteringMarek Olšák2011-06-111-1/+1
|
* r300g: fix texturing with non-3D textures and wrap R mode set to sample borderMarek Olšák2011-06-091-0/+6
| | | | | | | | | | If the wrap R (3rd) mode is set to CLAMP or CLAMP_TO_BORDER and the texture isn't 3D, r300 always samples the border color regardless of texture coordinates. I HATE THIS HARDWARE. NOTE: This is a candidate for the 7.10 branch.
* r300g: don't enable aniso with nearest filteringMarek Olšák2011-06-091-41/+39
|
* r600g: adjust vs/ps gprs on r600/r700 cards when needed.Dave Airlie2011-06-093-2/+51
| | | | | | | | | | | | | | | Ideally we'd have a compiler and register spilling and all that but this is good enough for now to avoid the gpu hang in piglit, glsl-vs-vec4-indexing-temp-dst-in-nested-loop-combined on r600/r700 cards. based on r600c patch Andre Maasikas <[email protected]> r600c: bump sq gpr resources if a shader needs more than default Signed-off-by: Dave Airlie <[email protected]>
* r600g: remove unused variableMarek Olšák2011-06-091-1/+0
|
* r300g: fix draw_vbo splitting on r3xx-r4xxMarek Olšák2011-06-091-5/+10
| | | | NOTE: This is a candidate for the 7.10 branch.
* r300g: make translate_primitive table-drivenMarek Olšák2011-06-091-24/+20
|
* svga: fix typos, update commentsBrian Paul2011-06-081-7/+5
|
* r600g: fix mixup in GPR resource reg setupAlex Deucher2011-06-081-3/+10
| | | | | | | GLOBAL_GPR regs should be 0. Need to set the number of temp regs in SQ_GPR_RESOURCE_MGMT_1. Signed-off-by: Alex Deucher <[email protected]>
* gallium: s/bool/boolean/Brian Paul2011-06-086-12/+12
|
* r600g: missed one line in eg dyn gpr fallback.Dave Airlie2011-06-081-0/+1
| | | | | | need more sleep or something. Signed-off-by: Dave Airlie <[email protected]>
* r600g: condition evergreen dyn gpr resource managementDave Airlie2011-06-082-2/+33
| | | | | | | So only with kernel version 2.7 can this work, thanks to Alex for pointing that out. Also add a workaround for a hw bug. Signed-off-by: Dave Airlie <[email protected]>
* r600g: enable dynamic GPR resource management on evergreenDave Airlie2011-06-082-18/+7
| | | | | | | | | | | Evergreen can do this as well as cayman, so we should enable it. This fixes a gpu lockup with glsl-vs-vec4-indexing-temp-dst-in-nested-loop-combined.shader_test I need to add a better workaround for r600/r700. Signed-off-by: Dave Airlie <[email protected]>
* r600g: take alpha ref update out of line.Dave Airlie2011-06-081-5/+4
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: split resource emit path from main register emit pathDave Airlie2011-06-081-0/+4
| | | | | | | | | Since resources don't generally vary in size, this splits the emit path, it also takes into a/c that texture and vertex resources have different number of relocs, and avoids emitting the extra reloc for vertex resources. Signed-off-by: Dave Airlie <[email protected]>
* r600g: inline r600_bo_reference.Dave Airlie2011-06-081-2/+13
| | | | | | This relies on the reference member being first, so document it. Signed-off-by: Dave Airlie <[email protected]>
* r600g: remove pre-r6xx asic families and pci idsAlex Deucher2011-06-071-32/+0
| | | | | | Not sure why these were included originally. Signed-off-by: Alex Deucher <[email protected]>
* r300g: consolidate deducing chipset infoMarek Olšák2011-06-074-392/+107
| | | | Use the new PCI ID table, make it simpler.
* r600g: add missing r300 familiesMarek Olšák2011-06-071-0/+5
| | | | Wondering why r600g needs to include r300_pci_ids.h
* Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesaStéphane Marchesin2011-06-065-144/+116
|\
| * r600g: use an enabled list to track enabled blocks.Dave Airlie2011-06-071-0/+2
| | | | | | | | | | | | | | | | At the end of flushing we were scanning over 450 blocks with generally about 50 enabled. This reduces the scanning to just the list of enabled blocks. Signed-off-by: Dave Airlie <[email protected]>
| * r600g/winsys: overhaul resource range/blocks.Dave Airlie2011-06-071-0/+4
| | | | | | | | | | | | | | There isn't much point taking the overhead of range/block lookups on resources we aren't going to be getting resource registers at wierd offsets. Signed-off-by: Dave Airlie <[email protected]>
| * r600g: move resource setting to its own structures.Dave Airlie2011-06-075-144/+110
| | | | | | | | | | | | | | | | | | resource setting could be a fair bit more lightweight, this patch just separates the resource structs from the standard reg tracking structs in the driver, later patches will improve the winsys. Signed-off-by: Dave Airlie <[email protected]>
* | i915g: Do generic remapping.Stéphane Marchesin2011-06-063-92/+119
|/ | | | | | With complex shaders there are often "holes" in the fs inputs, and we only have 8 tex coorsd to map those to. To fix this, we remap fs inputs to [0..8]. This lets us to run many more GLSL programs.
* i915g: implement more opcodes.Stéphane Marchesin2011-06-061-12/+82
|
* i915g: implement TGSI_OPCODE_SEQ.Stéphane Marchesin2011-06-061-0/+28
|
* i915g: handle varyings properly.Stéphane Marchesin2011-06-062-9/+27
|
* i915g: add missing and unsupported PIPE_CAPs to avoid debug messages.Stéphane Marchesin2011-06-061-0/+5
|
* i915g: don't destroy a texture buffer if it's NULL.Stéphane Marchesin2011-06-061-1/+2
|
* llvmpipe: use $(CXX) instead of g++ for linking.Stéphane Marchesin2011-06-061-1/+1
| | | | This allows setting the path to the C++ compiler.