summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* r300g: fix hiz/zmask offset emissions.Dave Airlie2010-08-091-2/+2
| | | | | | ofs is in dwords, so need to shift it for registers. Signed-off-by: Dave Airlie <[email protected]>
* nouveau: fix maps with PIPE_TRANSFER_UNSYNCHRONIZED | PIPE_TRANSFER_DONTBLOCKLuca Barbieri2010-08-091-3/+2
| | | | | | | | | In this case, we were incorrectly prioritizing PIPE_TRANSFER_DONTBLOCK over PIPE_TRANSFER_UNSYNCHRONIZED. This can lead to failure in the Mesa VBO draw paths that end up specifying both, but don't expect map to fail (in particular, the problem manifested as a leak of buffer objects in teapot with other changes).
* r300g: remove a flushMarek Olšák2010-08-081-1/+0
| | | | Ooops, it wasn't supposed to be there.
* r300g: flush zmasks of zbuffers we are going to use as samplersMarek Olšák2010-08-084-7/+58
| | | | It sometimes works, sometimes not. I guess we have the zmask offsets wrong.
* r300g: do not allocate a zmask block for 3D textures and cubemapsMarek Olšák2010-08-081-0/+6
|
* r300g: take hiz/zmask offsets into a/c when clearing.Dave Airlie2010-08-081-0/+4
| | | | | | Need to add a test for multi-hiz/zmask db in a single context. Signed-off-by: Dave Airlie <[email protected]>
* r300g: fix cbzb clears when hyperz is offMarek Olšák2010-08-075-10/+11
|
* nouveau: fix potential NULL-ptr dereference in nouveau_stateobj.hMaarten Maathuis2010-08-061-6/+4
| | | | | | | | - This can only be triggered when DEBUG_NOUVEAU_STATEOBJ is active. - Also remove a redundant pointer assignment. Reported-by: Roy Spliet <[email protected]> Signed-off-by: Maarten Maathuis <[email protected]>
* r600g: add PA_CL_CLIP_CNTL definitionJerome Glisse2010-08-061-0/+55
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix rendering, only enable target we write tooJerome Glisse2010-08-061-2/+2
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: really fix multi target supportJerome Glisse2010-08-064-46/+26
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* gallium: remove stray semicolonsBrian Paul2010-08-061-1/+1
|
* r600g: finish multi target rendering supportJerome Glisse2010-08-065-32/+68
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix color format, indentation, definesJerome Glisse2010-08-063-89/+93
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* Revert "r600g: don't use dynamic state allocation for states"Jerome Glisse2010-08-066-297/+346
| | | | | | | | | | | This reverts commit 9c949d4a4dd43b7889e13bdf683bcf211f049ced. Conflicts: src/gallium/drivers/r600/r600_context.h src/gallium/drivers/r600/r600_draw.c src/gallium/drivers/r600/r600_shader.c src/gallium/drivers/r600/r600_state.c
* r300g: Remove unnecessary headers.Vinson Lee2010-08-051-2/+0
|
* r600g: start to fix up multiple targets.Dave Airlie2010-08-063-17/+50
| | | | | | fixup exports from pixel shader for multi-cbs + depth buffer writing. Still crashes GPU running any of the multi-buffer or depth writing
* r600g: add SRGB support.Dave Airlie2010-08-063-4/+23
| | | | This enables GL2.1 and passes glean's texture_srgb test.
* r600g: fixup z format translations.Dave Airlie2010-08-062-20/+24
| | | | this enables GL_EXT_packed_depth_stencil. fbo-d24s8 passes
* r600g: fix targetmask to work correctly.Dave Airlie2010-08-061-2/+1
| | | | At least this seems to fix the glean maskedClear test.
* r600g: improve supported format selection.Dave Airlie2010-08-066-142/+212
| | | | | | | This fixes fbo-readpixels piglit test, and adds support for swapping the formats. Not all formats are correct yet I don't think. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add bo wait after map.Dave Airlie2010-08-061-0/+2
|
* r300g: do not emit GB_Z_PEQ_CONFIG on non-r500 if DRM < 2.6.0Marek Olšák2010-08-062-2/+6
|
* llvmpipe: Only get no rast option onceJakob Bornecrantz2010-08-051-1/+5
|
* nvfx: fix nv30 vertex program scalar opcodesLuca Barbieri2010-08-061-1/+7
| | | | | | | Apparently they have always been broken, even before unification. Fixes a lot of stuff, starting from morph3d and lighting in teapot with textures disabled.
* nvfx: shut up unknown cap 64 warningLuca Barbieri2010-08-061-0/+2
|
* r600g: don't use dynamic state allocation for statesJerome Glisse2010-08-056-356/+296
| | | | | | | | | | 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: fix fb_state atom sizeMarek Olšák2010-08-051-2/+6
|
* r300g: always emit hyperz state atom.Dave Airlie2010-08-051-5/+2
|
* r300g: disable hiz on rv530 for now.Dave Airlie2010-08-051-1/+1
| | | | On my rv530 at least HiZ is causing rendering issues in gears.
* r300g: implement hyper-z support. (v4)Dave Airlie2010-08-0518-47/+640
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: force flush on map as temporary fix to readpixelJerome Glisse2010-08-041-0/+2
| | | | | | | Should allow more piglit test to pass. Need to plugin proper flushing. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: always perform texture perspective divide + fix blendingJerome Glisse2010-08-044-65/+88
| | | | | | quake3 engine seems to run fine at this point (ioquake) Signed-off-by: Jerome Glisse <[email protected]>
* r300/compiler: r500 hw support for break and continue in loops.Tom Stellard2010-08-031-2/+7
| | | | | | | The BGNLOOP and ENDLOOP instructions are now being used correctly, which makes break and continue possible. The deadcode pass has been modified to handle breaks, and the compiler is more careful about which loops are unrolled.
* r300g: disable multisample visuals until the state tracker bits catch up.Dave Airlie2010-08-041-0/+3
| | | | | | This stops us advertising lots of ms visuals we can't actually use. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add polygon offset supportJerome Glisse2010-08-033-7/+62
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: flush and resubmit if we reach limitJerome Glisse2010-08-034-37/+13
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix color target maskJerome Glisse2010-08-031-2/+1
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix stencilJerome Glisse2010-08-032-8/+7
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix LIT + fix multiple constant one ALU + fix ALU block splittingJerome Glisse2010-08-035-113/+207
| | | | | | | | | | | | | Make sure LIT fills all slot for instruction (can't do W instruction without having the Z slot filled with at least a NOP). ALU instruction can't access more than 4 constant, move constant to temporary reg if we reach the limit. Fix ALU block splitting, only split ALU after ALU with last instruction bit sets. Signed-off-by: Jerome Glisse <[email protected]>
* r300g: handle polygon offset correctlyMarek Olšák2010-08-031-5/+5
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=29372
* r600g: split alu block to conform to limit + RCP opcodeJerome Glisse2010-08-022-2/+4
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add autogenerated reg definition + debug print cleanupJerome Glisse2010-08-026-173/+194
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r300g: fix hardlock when using more than one stuffed sprite coordsMarek Olšák2010-08-022-19/+21
| | | | | | | If texture coordinates come from the vertex shader, there are always 4 components in the rasterizer input packet, but if the coordinates are stuffed (like for point sprites), there are only 2 or 3 components (based on GB_ENABLE) and if we rasterize more, it locks up.
* r600g: add stencil op/func translationDave Airlie2010-08-022-3/+66
|
* r600g: initial alpha test stateDave Airlie2010-08-021-5/+13
|
* r600g: add initial blend state.Dave Airlie2010-08-025-20/+262
| | | | migrates cb_cntl to be regenerated
* r600g: set correct tex coord type for rect textures.Dave Airlie2010-08-021-4/+6
|
* r600g: make r600_db_format static.Dave Airlie2010-08-021-1/+1
| | | | this isn't used anywhere else yet.
* r300g: fix microtiling on RS6xxMarek Olšák2010-08-011-4/+18
| | | | | Getting tiling right has always been tricky. There are so many subtle details...