summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* nouveau: Fix glTexSubImage on swizzled surfaces on <=NV40Luca Barbieri2009-12-306-55/+74
| | | | | | | | | | | | | | | | | | Currently in nvXX_transfer_new a temporary as large as the surface is created. If the subrectangle is not the whole texture we would need to read back the whole texture, but we aren't. Thus, everything but the subrectangle specified is loaded as garbage. This can be seen in progs/demos/ray. This patch fixes the problem by creating a temporary that covers only the desired subrectangle. That makes us hit an alignment assert in nv04_surface_2d.c. Fix it using the point registers instead of manipulating the swizzled surface offset to account for the destination coordinates (which do not seem to have a 1024 limit). Signed-off-by: Francisco Jerez <[email protected]>
* mesa: fix-up blend enable/disable code in _mesa_PopAttrib()Brian Paul2009-12-291-7/+17
|
* mesa: finish-up indexed color mask code in _mesa_PopAttrib()Brian Paul2009-12-291-1/+1
|
* mesa: plug in GL_EXT_draw_buffers2 functionsBrian Paul2009-12-292-8/+14
|
* mesa: regenerate API files related to GL_EXT_draw_buffers2Brian Paul2009-12-2911-1747/+2138
|
* glapi: extension info for GL_EXT_draw_buffers2Brian Paul2009-12-291-0/+49
|
* mesa: added infrastructure for GL_EXT_draw_buffers2Brian Paul2009-12-295-10/+25
|
* mesa: add dlist support for indexed colormask and indexed enables/disablesBrian Paul2009-12-291-0/+77
| | | | Not plugged into dispatch table yet...
* mesa: implement per-buffer color maskingBrian Paul2009-12-2944-230/+350
| | | | | | | | | | | This is part of the GL_EXT_draw_buffers2 extension and part of GL 3.0. The ctx->Color.ColorMask field is now a 2-D array. Until drivers are modified to support per-buffer color masking, they can just look at the 0th color mask. The new _mesa_ColorMaskIndexed() function will be called by glColorMaskIndexedEXT() or glColorMaski().
* mesa: implement indexed glGet functionsBrian Paul2009-12-293-20/+140
| | | | | | | | The functions are _mesa_GetBooleanIndexedv(), _mesa_GetIntegerIndexedv(), and _mesa_GetInteger64Indexedv(). These will be called from API functions such as glGetBooleanIndexedvEXT() and glGetBooleani_v(). Only the GL_BLEND query is supported at this time.
* mesa: per-buffer blend enabled flagsBrian Paul2009-12-299-20/+126
| | | | | | | | | | | | | | | ctx->Color.BlendEnabled is now a GLbitfield instead of a GLboolean to indicate blend on/off status for each color/draw buffer. This is infrastructure for GL_EXT_draw_buffers2 and OpenGL 3.x New functions include _mesa_EnableIndexed(), _mesa_DisableIndexed(), and _mesa_IsEnabledIndexed(). The enable function corresponds to glEnableIndexedEXT() for GL_EXT_draw_buffers2 or glEnablei() for GL3. Note that there's quite a few tests for ctx->Color.BlendEnabled != 0 in drivers, etc. Those tests can remain as-is since the mask will be 0 or ~0 unless GL_EXT_draw_buffers2 is enabled.
* glsl: added default case in _fetch_token() to silence warningsBrian Paul2009-12-291-0/+2
|
* intel: Fix false positives in checking for non-packed depth/stencil RB.Eric Anholt2009-12-281-7/+14
| | | | | | | The wine d3d9 visual.c testcase was tripping over this and failing. Presumably it's binding a packed depth/stencil texture to both stencil and depth attachment points, and we make a new renderbuffer wrapper for each in that case.
* intel: Allow binding a stencil but not a depth buffer.Eric Anholt2009-12-282-1/+7
| | | | | | Wine's d3d9 visual.c testcase tries this a lot, so I've added some piglit tests (fbo-nodepth-test, fbo-nostencil-test, fbo-stencil-only) and enabled it.
* intel: Improve INTEL_DEBUG=fbo output.Eric Anholt2009-12-281-1/+6
|
* intel: Remove dead fthrottle_mode option. We only do IRQ waits.Eric Anholt2009-12-282-5/+1
| | | | Noticed by clang.
* mesa: remove gratuitous stores I added in remove_instructions.Eric Anholt2009-12-281-1/+0
|
* nouveau: Unreference state/buffer objects on context/screen destruction.Younes Manton2009-12-2812-5/+102
| | | | | | | | - unreference state objects so that buffer objects are unreferenced and eventually destroyed - free channel at screen's destruction Based on Krzysztof Smiechowicz's patch.
* nouveau: Fix swizzling for copies to rectangular texturesLuca Barbieri2009-12-281-3/+12
| | | | | | | | | | | | | nVidia hardware seems to swizzle rectangular texture (with width != height) coordinates by swizzling the lower bits and then adding the higher bits from the larger dimension. However, nv04_swizzle_bits ignores width and height and just interleaves everything. This causes problems with rectangular POT textures with height or width 2048 or 4096 (but not 2048x1024 where it works by chance) since the driver swizzles them in 1024x1024 chunks and gets the start position for the non-first chunks wrong. The following patch seems to fix those problems.
* nouveau: Fix nv20-40 swizzled miptree RTsLuca Barbieri2009-12-289-3/+122
| | | | | | | | | | | | | I just coded a patch that does this and seems to work fine. It must be fixed since it breaks OpenGL (or the state tracker can be changed, but it seems better to do it in the driver). The patch also fixes NV20 and NV30 in the same way. They compile but are untested. I would guess that using the 3D engine is faster for the larger levels, but the 2D engine is faster for the smaller ones (and lacks this issue).
* NV30/NV40 CMP and SCS src == dst handlingLuca Barbieri2009-12-282-16/+48
| | | | | | | | CMP and SCS can produce incorrect results if the source and destination are the same. This patch should fix the issues. CMP is fixed by predicating both moves. SCS by changing the order if the source component is X.
* llvmpipe: Unmapping vertex/index buffers does NOT flush draw module anymore.José Fonseca2009-12-281-1/+7
| | | | | | | | | | | | Not since 6094e79f4e3350d123c7532b1c73faa60834a62d. Drivers now need to flush draw module explicitely (which explains why all those previous commits adding draw_flushes calls were necessary). This is a good thing, but it's tricky to get this right in face of user buffers (it's not even clear who has the responsibility to flush when a user buffer is seen -- statetracker or pipe driver), so just force flush (temporarily) since it's not a bottleneck now.
* python/retrace: Dump only the specified image rectangles.José Fonseca2009-12-281-2/+2
|
* xlib: Integrate the trace driver with all pipe drivers.José Fonseca2009-12-287-141/+24
| | | | | | | And not just softpipe. It is particularly convenient to use llvmpipe instead, since it is much faster. It also allows to use rbug with all xlib drivers.
* scons: Fix xlib build.José Fonseca2009-12-282-2/+2
| | | | After glsl rework merge.
* nv04: Fix build after the latest nouveau_class.h changes.Francisco Jerez2009-12-286-62/+62
|
* nv50: Dehexify and bring up to date with new method defines.Marcin Kościelnicki2009-12-288-72/+69
| | | | Signed-off-by: Francisco Jerez <[email protected]>
* Merge branch 'mesa_7_7_branch'Brian Paul2009-12-273-9/+17
|\
| * st/mesa: add missing case for PIPE_FORMAT_B8G8R8A8_UNORMBrian Paul2009-12-271-0/+2
| |
| * gallium: only create pipe buffer when size is nonzeroMaarten Maathuis2009-12-231-6/+10
| | | | | | | | | | | | - This fixes a crash upon starting spring (a rts engine/game). Signed-off-by: Maarten Maathuis <[email protected]>
| * mesa: fix binary() function, printf format stringBrian Paul2009-12-221-3/+5
| | | | | | | | | | Need to use the constant 1ULL and 0xllx format string. This fixes incorrect results and a NULL pointer/parameter bug.
* | r300g: fix use of uninitialised variables.Dave Airlie2009-12-271-2/+2
| | | | | | | | These buffers were getting dereferenced later.
* | r300g: rename modesetting_drv.so to radeong_drv.soDave Airlie2009-12-272-16/+26
| |
* | softpipe: Flush draw module when fragment pipeline state changes.José Fonseca2009-12-263-4/+21
| |
* | llvmpipe: Treat state changes systematically.José Fonseca2009-12-264-11/+38
| | | | | | | | | | | | | | | | | | | | That is: - check for no op - update/flush draw module - update bound state and mark it as dirty In particular flushing the draw module is important since it may contain unflushed primitives which would otherwise be draw with wrong state.
* | i965: Extra asserts on flow control instructions to clarify for clang.Eric Anholt2009-12-261-1/+3
| |
* | i965: Clean up double initialization of dst_flags from a rebase resolve.Eric Anholt2009-12-261-4/+0
| | | | | | | | Caught by clang.
* | i965: Fix setup of immediate types for gen4 disasm.Eric Anholt2009-12-261-1/+1
| | | | | | | | Caught by clang.
* | llvmpipe: Use comments and more code from softpipe's is_texture_referenced ↵José Fonseca2009-12-261-0/+8
| | | | | | | | implementation.
* | softpipe: Flush draw module before switching framebuffer.José Fonseca2009-12-261-0/+2
| | | | | | | | Otherwise geometry might end up in the wrong rendertarget.
* | llvmpipe: Flush draw module before switching framebuffer.José Fonseca2009-12-261-0/+2
| | | | | | | | Otherwise geometry will end up in the wrong rendertarget.
* | tgsi: Don't dump parenthesis for negation.José Fonseca2009-12-261-3/+1
| | | | | | | | | | It doesn't seem necessary, and more importantly, tgsi_parse doesn't know how to read them.
* | python: Update python state tracker and samples for recent interface changes.José Fonseca2009-12-269-24/+53
| |
* | trace: Fix transfer size computation.José Fonseca2009-12-261-1/+1
| |
* | svga: Allow to dump an individual command.José Fonseca2009-12-263-340/+363
| |
* | r300g: fixup for GS additionsDave Airlie2009-12-261-2/+4
| | | | | | | | draw_set_mapped_constant_buffer changed API
* | gallium: remove TGSI_SEMANTIC_VERTICESZack Rusin2009-12-254-12/+8
| | | | | | | | | | | | it's a leftover from an early version of geometry shading support. geometry shaders now encode the primitive size in the PROPERTY token and don't need special input with their size.
* | draw: disable some debugging output coming from the geometry shadersZack Rusin2009-12-251-5/+5
| |
* | gallium: geometry shader can be always enabled and we don't need a cap for thatZack Rusin2009-12-252-3/+0
| | | | | | | | | | using the draw module allows us to enable geometry shading even on hardware that doesn't support it.
* | util: put vertices_per_primitive function in its proper locationZack Rusin2009-12-254-37/+37
| |