summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers
Commit message (Collapse)AuthorAgeFilesLines
* tdfx: s/Format/_BaseFormat/Brian Paul2010-11-111-2/+2
| | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31560
* dri/nouveau: Split hardware/software TNL instantiation more cleanly.Francisco Jerez2010-11-119-66/+84
|
* intel: Add a new B43 pci id.Robert Hooker2010-11-102-1/+4
| | | | Signed-off-by: Robert Hooker <[email protected]>
* i965: re-enable gen6 IF statements in the fragment shader.Eric Anholt2010-11-102-6/+1
| | | | | | | | | | | | | | | | | | IF statements were getting flattened while they were broken. With Zhenyu's last fix for ENDIF's type, everything appears to have lined up to actually work. This regresses two tests: glsl1-! (not) operator (1, fail) glsl1-! (not) operator (1, pass) but fixes tests that couldn't work before because the IFs couldn't be flattened: glsl-fs-discard-01 occlusion-query-discard (and, naturally, this should be a performance improvement for apps that actually use IF statements to avoid executing a bunch of code).
* i965: Work around strangeness in swizzling/masking of gen6 math.Eric Anholt2010-11-101-11/+58
| | | | | | | | | | | | | | | | | | | | Sometimes we swizzled in a different channel it looked like, and sometimes we swizzled in zero. Or something. Having looked at the output of another code generator for this chip, this is approximately what they do, too: use align1 math on temporaries, and then move the results into place. Fixes: glean/vp1-EX2 test glean/vp1-EXP test glean/vp1-LG2 test glean/vp1-RCP test (reciprocal) glean/vp1-RSQ test 1 (reciprocal square root) shaders/glsl-cos shaders/glsl-sin shaders/glsl-vs-masked-cos shaders/vpfp-generic/vp-exp-alias
* meta: Handle bitmaps with alpha test enabled.Francisco Jerez2010-11-101-6/+35
| | | | Acked-by: Brian Paul <[email protected]>
* r200: fix r200 large pointsRoland Scheidegger2010-11-102-7/+5
| | | | | | | | | | | | | | | | | | | | DD_POINT_SIZE got never set for some time now (as it was set only in ifdefed out code), which caused the r200 driver to use the point primitive mistakenly in some cases which can only do size 1 instead of point sprite. Since the logic to use point instead of point sprite prim is flaky at best anyway (can't work correctly for per-vertex point size), just drop this and always emit point sprites (except for AA points) - reasons why the driver tried to use points for size 1.0 are unknown though it is possible they are faster or more conformant. Note that we can't emit point sprites without point sprite cntl as that might result in undefined point sizes, hence need drm version check (which was unnecessary before as it should always have selected points). An alternative would be to rely on the RE point size clamp controls which could clamp the size to 1.0 min/max even if the SE point size is undefined, but currently always use 0 for min clamp. (As a side note, this also means the driver does not honor the gl spec which mandates points, but not point sprites, with zero size to be rendered as size 1.) This should fix recent reports of https://bugs.freedesktop.org/show_bug.cgi?id=702. This is a candidate for the mesa 7.9 branch.
* Revert "i965: VS use SPF mode on sandybridge for now"Zhenyu Wang2010-11-102-5/+1
| | | | | | This reverts commit 9c39a9fcb2c76897e9b5aff68ce197a411c4e25c. Remove VS SPF mode, conditional instruction works for VS now.
* i965: fix dest type of 'endif' on sandybridgeZhenyu Wang2010-11-101-1/+1
| | | | That should also be immediate value for type W.
* i965: Add support for math on constants in gen6 brw_wm_glsl.c path.Eric Anholt2010-11-091-4/+5
| | | | Fixes 10 piglit cases that were assertion failing.
* i965: Allow OPCODE_SWZ to put immediates in the first arg.Eric Anholt2010-11-091-0/+1
| | | | | | | | | | | Fixes assertion failure with texture swizzling in the GLSL path when it's triggered (such as gen6 FF or ARB_fp shadow comparisons). Fixes: texdepth texSwizzle fp1-DST test fp1-LIT test 3
* intel: Add assert check for blitting alignment.Peter Clifton2010-11-091-2/+3
| | | | | | Also fixup code comment to reflect that the GPU requires DWORD alignment, but in this case does not actually pass the value "in DWORDs" as I previously stated.
* Revert "intel: Fix the client-side swapbuffers throttling."Eric Anholt2010-11-091-5/+1
| | | | | | | This reverts commit 76360d6abc9e0195bc5c373101ae616e68b2e6e6. On second thought, it turned out that sync objects also used the wait_rendering API like this, and would need the same treatment, and so wait_rendering itself is fixed in libdrm now.
* intel: Fix the client-side swapbuffers throttling.Eric Anholt2010-11-091-1/+5
| | | | | | | We were asking for a wait to GTT read (all GPU rendering to it complete), instead of asking for all GPU reading from it to be complete. Prevents swapbuffers-based apps from running away with rendering, and produces a better input experience.
* radeon: Implement GL_OES_EGL_imageJohann Rudloff2010-11-0811-0/+150
| | | | agd5f: add support to radeon/r200/r300 as well
* radeon: Implement __DRI_IMAGE and EGL_MESA_image_drmJohann Rudloff2010-11-082-0/+196
|
* radeon: Implement EGL_MESA_no_surface_extensionJohann Rudloff2010-11-082-37/+55
|
* mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.Mario Kleiner2010-11-082-2/+4
| | | | | | | | | | | | | | | | A call to radeon_prepare_render() at the beginning of draw operations was placed too deep in the call chain, inside r300RunRenderPrimitive(), instead of r300DrawPrims() where it belongs. This leads to emission of stale target color renderbuffer into the cs if bufferswaps via page-flipping are used, and thereby causes massive rendering corruption due to unsynchronized rendering into the active frontbuffer. This patch fixes such problems for use with the upcoming radeon page-flipping patches. Signed-off-by: Mario Kleiner <[email protected]>
* intel: Fix emit_linear_blit to use DWORD aligned width blitsPeter Clifton2010-11-081-2/+5
| | | | | | | | | | The width of the 2D blits used to copy the data is defined as a 16-bit signed integer, but the pitch must be DWORD aligned. Limit to an integral number of DWORDs, (1 << 15 - 4) rather than (1 << 15 -1). Fixes corruption to data uploaded with glBufferSubData. Signed-off-by: Peter Clifton <[email protected]>
* r600c: properly align mipmaps to group sizeAlex Deucher2010-11-082-4/+7
| | | | | fixes: https://bugs.freedesktop.org/show_bug.cgi?id=31400
* meta: Don't try to disable cube maps if the driver doesn't expose the extension.Francisco Jerez2010-11-061-1/+2
| | | | Signed-off-by: Brian Paul <[email protected]>
* i965: Silence uninitialized variable warning.Vinson Lee2010-11-041-1/+1
| | | | | | | Silences this GCC warning. brw_wm_fp.c: In function 'brw_wm_pass_fp': brw_wm_fp.c:966: warning: 'last_inst' may be used uninitialized in this function brw_wm_fp.c:966: note: 'last_inst' was declared here
* i965: Silence uninitialized variable warning.Vinson Lee2010-11-041-1/+1
| | | | | | Silences this GCC warning. brw_wm_fp.c: In function 'precalc_tex': brw_wm_fp.c:666: warning: 'tmpcoord.Index' may be used uninitialized in this function
* r300/compiler: Move declaration before code.Vinson Lee2010-11-041-5/+6
| | | | | | Fixes this GCC warning with linux-x86 build. radeon_dataflow.c: In function 'get_readers_normal_read_callback': radeon_dataflow.c:472: warning: ISO C90 forbids mixed declarations and code
* r300/compiler: Move declaration before code.Vinson Lee2010-11-041-2/+3
| | | | | | Fixes this GCC warning with linux-x86 build. radeon_pair_schedule.c: In function 'merge_presub_sources': radeon_pair_schedule.c:312: warning: ISO C90 forbids mixed declarations and code
* meta: Fix incorrect rendering of the bitmap alpha component.Francisco Jerez2010-11-041-3/+9
| | | | Signed-off-by: Brian Paul <[email protected]>
* meta: Don't leak alpha function/reference value changes.Francisco Jerez2010-11-041-0/+5
| | | | Signed-off-by: Brian Paul <[email protected]>
* dri/nouveau: Silence uninitialized variable warning.Vinson Lee2010-11-031-0/+5
| | | | | | | Fixes this GCC warning. nouveau_vbo_t.c: In function 'nv10_vbo_render_prims': nouveau_render_t.c:161: warning: 'max_out' may be used uninitialized in this function nouveau_render_t.c:161: note: 'max_out' was declared here
* intel: Remove leftover dri1 locking fields in the context.Eric Anholt2010-11-031-3/+0
|
* intel: Remove duplicated teximage miptree to object miptree promotion.Eric Anholt2010-11-031-15/+0
| | | | | intel_finalize_mipmap_tree() does this optimization too, just more aggressively.
* intel: Avoid taking logbase2 of several things that we max.Eric Anholt2010-11-031-5/+1
| | | | | | logbase2(max(width, height, depth)) == max(logbase2(width), logbase2(height), logbase2(depth)), but in 60 bytes less code.
* i965: Remove dead intel_structs.h file.Eric Anholt2010-11-032-264/+0
|
* intel: Remove the magic unaligned memcpy code.Eric Anholt2010-11-031-89/+0
| | | | | | | | In testing on Ironlake, the histogram of clocks/pixel results for the system memcpy and magic unaligned memcpy show no noticeable difference (and no statistically significant difference with the 5510 samples taken, though the stddev is large due to what looks like the cache effects from the different texture sizes used).
* intel: Annotate debug printout checks with unlikely().Eric Anholt2010-11-0334-129/+116
| | | | | | | This provides the optimizer with hints about code hotness, which we're quite certain about for debug printouts (or, rather, while we developers often hit the checks for debug printouts, we don't care about performance while doing so).
* savage: Remove unnecessary header.Vinson Lee2010-11-021-1/+0
|
* intel: For batch, use GTT mapping instead of writing to a malloc and copying.Eric Anholt2010-11-022-13/+9
| | | | | No measurable performance difference on cairo-perf-trace, but simplifies the code and should have cache benefit in general.
* dri/util: add a bunch of commentsBrian Paul2010-11-021-0/+24
|
* i965: refresh wm push constant also for BRW_NEW_FRAMENT_PROGRAM on gen6Zhenyu Wang2010-11-021-1/+1
| | | | | | Fix compiz crash. https://bugs.freedesktop.org/show_bug.cgi?id=31124
* r300/compiler: Don't track readers into an IF block.Tom Stellard2010-11-011-0/+3
| | | | | This makes rc_get_readers_normal() more conservative than it needs to be, but it fixes some incorrect behavior in the optimization passes.
* dri/nouveau: Re-emit the BO state when coming back from a software fallback.Francisco Jerez2010-10-311-2/+4
|
* dri/nouveau: Validate the framebuffer state on read buffer changes.Francisco Jerez2010-10-311-0/+7
|
* dri/nouveau: Fix type promotion issue on 32bit platforms.Francisco Jerez2010-10-311-1/+1
| | | | Fixes some VTX protection errors introduced by e89af209261.
* r300/compiler: Don't clobber presubtract sources during optimizationsTom Stellard2010-10-301-39/+37
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=28294
* dri/nouveau: Pipeline glTexSubImage texture transfers.Francisco Jerez2010-10-312-19/+68
|
* dri/nouveau: Keep small DYNAMIC_DRAW vertex buffers in system ram.Francisco Jerez2010-10-314-13/+35
|
* dri/nouveau: Optimize VBO binding re-emission.Francisco Jerez2010-10-313-26/+84
|
* dri/nouveau: Split out array handling to its own file.Francisco Jerez2010-10-319-165/+244
|
* dri/nouveau: Use a macro to iterate over the bound vertex attributes.Francisco Jerez2010-10-315-112/+83
|
* dri/nouveau: Avoid recursion in nouveau_bo_context_reset().Francisco Jerez2010-10-311-5/+5
|
* dri/nouveau: Split out the scratch helpers to a separate file.Francisco Jerez2010-10-319-78/+165
|