summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* gallium: fix blend state csoRoland Scheidegger2010-01-303-37/+20
| | | | | | | if independent blend state was disabled, only the data from first rt was stored, however the comparison used the full state, hence there never was a match and always a new object was created. Fixes a huge performance drop with llvmpipe due to recompilation.
* gallium: document pipe_context::get_query_result()Brian Paul2010-01-292-3/+14
|
* Merge commit 'lb2/arb_fragment_coord_conventions'Keith Whitwell2010-01-2927-14/+357
|\
| * softpipe: support all TGSI fragment coord conventions (v4)Luca Barbieri2010-01-294-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v4: - Rebase and modify for changes in previous patches Changes in v3: - Use positive caps instead of negative caps Changes in v2: - Now takes the fragment convention directly from the fragment shader Adds internal support for all fragment coord conventions to softpipe. This patch is not required for use with the current state trackers, but it allows softpipe to run any TGSI program and enhances performance.
| * st/mesa: Gallium support for ARB_fragment_coord_conventions (v4)Luca Barbieri2010-01-292-3/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v4; - Implemented Brian Paul's style suggestions Changes in v3: - Use positive caps instead of negative ones Changes in v2: - Updated formatting The state tracker will use the TGSI convention properties if the hardware exposes the appropriate capability, and otherwise adjust WPOS itself. This will also fix some drivers that were previously broken due to their incorrect, inadvertent, use of conventions other than upper_left+half_integer.
| * tgsi: add caps for fragment coord conventions (v3)Luca Barbieri2010-01-2915-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v3: - Renumber caps to accomodate caps to add to master in the meantime - Document caps - Add unsupported caps to *_screen.c too Changes in v2: - Split for properties patch - Use positive caps instead of negative caps This adds 4 caps to indicate support of each of the fragment coord conventions. All drivers are also modifed to add the appropriate caps. Some drivers were incorrectly using non-Gallium-default conventions, and caps for them have them set so that they will behave correctly after the later state tracker patches. This drivers are softpipe/llvmpipe (uses integer rather than half integer) and pre-nv50 Nouveau (uses lower left rather than upper left). Other drivers might be broken. With this patchset, fixing them is only a matter of exposing the appropriate caps that match the behavior of the existing code. Drivers are encouraged to support all conventions themselves for better performance, and this feature is added to softpipe in a later patch.
| * tgsi: add properties for fragment coord conventions (v3)Luca Barbieri2010-01-296-6/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v3: - Documented the new properties - Added comments for property values - Rebased to current master Changes in v2: - Caps are added in a separate, subsequent patch This adds two TGSI fragment program properties that indicate the fragment coord conventions. The properties behave as described in the extension spec for GL_ARB_fragment_coord_conventions, but the default origin in upper left instead of lower left as in OpenGL. The syntax is: PROPERTY FS_COORD_ORIGIN [UPPER_LEFT|LOWER_LEFT] PROPERTY FS_COORD_PIXEL_CENTER [HALF_INTEGER|INTEGER] The names have been chosen for consistency with the GS properties and the OpenGL extension spec. The defaults are of course the previously assumed conventions: UPPER_LEFT and HALF_INTEGER.
| * mesa: don't expose GL_ARB_fragment_coord_conventions until the GLSL part is doneLuca Barbieri2010-01-291-1/+2
| | | | | | | | | | | | | | | | Exposing it was incorrect, as the GLSL part of the extension is missing. We still keep the ARB_fragment_coord_conventions field, so that the ARBfp parser can know whether to accept or reject the keywords.
* | tnl: check that state is validated before drawingBrian Paul2010-01-291-0/+3
| | | | | | | | | | | | | | | | (cherry picked from commit 9fd3c74724e557bc6ecc851d8552615ab3becfe2) Conflicts: src/mesa/tnl/t_draw.c
* | st/mesa: check that state is validated before drawingBrian Paul2010-01-291-0/+3
| | | | | | | | | | | | | | | | (cherry picked from commit 4d1234e22242529c8d85f5ef0cf826af41a91570) Conflicts: src/mesa/state_tracker/st_draw.c
* | vbo: fix missing state validation bugsBrian Paul2010-01-291-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2708ddfb06a36d8568e2aa130bf1f7d551fcd309 caused a few regressions. We need to check/validate state after calling bind_arrays() because it might set the _NEW_ARRAYS flag if the varying VP inputs change. The symptom of this problem was some attribute arrays being ignored (or interpreted as constant-valued) in glDrawRangeElements or glMultiDrawElements. A follow-on patch will add some additional asserts to try to catch this kind of thing in the future. (cherry picked from commit 3cba779e16935f7c3a0bfd8af48bd5e015068e96)
* | mesa: do state validation in _mesa_valid_to_render()Brian Paul2010-01-292-9/+4
| | | | | | | | | | | | | | | | | | ...rather than checking/validating before all the calls to _mesa_valid_to_render() and valid_to_render(). The next patch will actually fix some bugs... (cherry picked from commit 23eda89ec89e2bd5bc26077bd56e8d6b5d4040d4)
* | windows: assorted build fixesBrian Paul2010-01-292-14/+2
| | | | | | | | | | | | | | These changes were originally submitted by Karl Schultz for Mesa 7.7-rc2 but weren't applied. (cherry picked from commit 82c76cd16f35f4d903f49761af7eb28a755ad299)
* | glx: fix possible memory leaks in dri2CreateScreen()Rodolfo Ribeiro Gomes2010-01-291-5/+8
| | | | | | | | Original patch fixed up by Brian Paul.
* | mesa: Warn when indices are out of bounds, but do not skip the draw in debug ↵Brian Paul2010-01-291-3/+1
|/ | | | | | | | | | | | builds. The driver (or preferably the hardware) should handle out of bounds indices. If there are problems then it's better to detect those in the debug builds. (cherry picked from commit e3257912e006120f6ab611e77005eed1a464030a)
* glu/sgi: Remove unnecessary headers.Vinson Lee2010-01-2811-13/+0
|
* svga: Remove unnecessary headers.Vinson Lee2010-01-282-2/+0
|
* softpipe: Remove unnecessary header.Vinson Lee2010-01-281-1/+0
|
* llvmpipe: Remove unnecessary header.Vinson Lee2010-01-281-1/+0
|
* egl: Remove unnecessary headers.Vinson Lee2010-01-285-5/+0
|
* r300g: Clean up blend masks, change caps.Corbin Simpson2010-01-283-13/+18
| | | | | progs/tests/drawbuffers should work, except I can't test it. GG new shader parser. GG.
* gallium-docs: Minor grammar, need to talk about dual-source blends.Corbin Simpson2010-01-282-3/+12
|
* gallium-docs: Clean up constantbuf info a bit.Corbin Simpson2010-01-281-23/+24
| | | | | Hmm, does this belong in context, next to set_constant_buffer? Maybe a paragraph in shaders might be useful.
* gallium-docs: Add PIPE_CAP info.Corbin Simpson2010-01-282-0/+67
|
* intel: Set the region's tiling to none when attaching a PBO to a region.Eric Anholt2010-01-281-0/+1
| | | | | | | | Note that when detaching the PBO from the region and making a new BO for the region, we don't make it tiled even if the region originally was. Fixes piglit pbo-teximage-tiling.
* i915: Remove unused initial and current state, now that there's nothing else.Eric Anholt2010-01-286-22/+10
|
* intel: Remove long-disabled meta readpixels, and associated meta support.Eric Anholt2010-01-2811-1178/+20
|
* st/xorg: Update to new libkms interface but be backwards compatibleJakob Bornecrantz2010-01-282-0/+8
|
* Merge commit 'origin/perrtblend'Roland Scheidegger2010-01-2856-444/+617
|\ | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_screen.c src/gallium/include/pipe/p_defines.h
| * gallium: remove PIPE_CAP_S3TC, and add PIPE_CAP_DUAL_SOURCE_BLENDRoland Scheidegger2010-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | there's no point in keeping deprecated PIPE_CAPS around since there's no stable interface (yet). Reuse the enum for PIPE_CAP_DUAL_SOURCE_BLEND. Drivers advertizing this will accept the pipe blendfactors with SRC1 in them and be able to do dual source blending (src color from pixel shader output 0, and blendfactor with SRC1 will come from output 1, only one render target may be bound when using any of these blend factors).
| * nv50: supports independent blend enablesChristoph Bumiller2010-01-262-17/+41
| |
| * gallium: add the new PIPE_CAP blend bits to more driversRoland Scheidegger2010-01-267-0/+28
| | | | | | | | some drivers will complain if they don't know the cap bit
| * r300g: Per-MRT blending is not supported.Corbin Simpson2010-01-261-0/+3
| |
| * mesa/st: code cleanups for new blend functionalityRoland Scheidegger2010-01-261-9/+23
| | | | | | | | minor code changes, style and comment fixes
| * softpipe: enable new blend functionalityRoland Scheidegger2010-01-252-18/+21
| | | | | | | | works with tests/drawbuffers2
| * st/mesa: handle EXT_draw_buffers2 per rendertarget blend enables / colormasksRoland Scheidegger2010-01-253-31/+77
| | | | | | | | uses the new gallium per-rt blend functionality
| * vega: don't enable blending if not necessaryRoland Scheidegger2010-01-253-6/+4
| | | | | | | | | | In some places blending was enabled even though it wasn't necessary. Also remove a (bogus) reenabling of color writes, which wasn't really used.
| * xorg: do not enable unnecessary blending for xvRoland Scheidegger2010-01-251-1/+1
| |
| * trace: adapt to blend changesRoland Scheidegger2010-01-251-11/+21
| |
| * svga: adapt to blend changesRoland Scheidegger2010-01-251-9/+9
| |
| * softpipe: adapt to blend changesRoland Scheidegger2010-01-252-30/+31
| |
| * nouveau: adapt drviers to blend changesRoland Scheidegger2010-01-256-57/+57
| |
| * r300g: adapt to blend changesRoland Scheidegger2010-01-251-11/+11
| |
| * i965g: adapt to blend changesRoland Scheidegger2010-01-251-11/+11
| |
| * i915g: adapt to blend changesRoland Scheidegger2010-01-251-14/+14
| |
| * cell: adapt to blend changesRoland Scheidegger2010-01-252-34/+34
| |
| * llvmpipe: adapt to blend changesRoland Scheidegger2010-01-251-35/+37
| |
| * st/python: adapt to blend changesRoland Scheidegger2010-01-257-40/+40
| |
| * vega: adapt to blend changesRoland Scheidegger2010-01-256-76/+70
| |
| * xorg: adapt to blend changesRoland Scheidegger2010-01-253-17/+17
| |